c语言课程设计题目

合集下载

C语言课程设计--学生成绩管理系统

C语言课程设计--学生成绩管理系统

*题目七:学生成绩管理系统设计学生成绩信息包括:学期,学号,班别,姓名,四门课程成绩(语文、数学、英语和计算机)等。

主要功能:(1)能按学期、按班级完成对学生成绩的录入、修改(2)能按班级统计学生的成绩,求学生的总分及平均分(3)能查询学生成绩,不及格科目及学生名单(4)能按班级输出学生的成绩单要求:使用二进制文件方式存储数据,系统以菜单方式工作源代码:#include<stdio.h>#include<ctype.h>#include<stdlib.h>#include<string.h>struct Student{int cls;char nam[10];char num[10];int chinese;int english;int computer;int math;}stud1[100],stud2[100];{char a;while(a>'7'||a<'0'){system("cls");printf(" 欢迎使用学生成绩管理系统\n");printf(" 制作人:章建\n");printf("********************** 学生成绩管理系统************************\n");printf(" 1.输入学生成绩\n");printf(" 2.输出学生成绩\n");printf(" 3.查找并显示学生成绩\n");printf(" 4.按姓名查找,修改学生资料\n");printf(" 5.显示所有学生名单\n");printf(" 6.查找并删除学生信息\n");printf(" 7.从文件读取数据\n");printf(" 0.储存学生资料并退出系统\n");printf("********************************************************************* *\n");printf("请选择(0-7)\n");a=getchar();}return(a-'0');}/******************************************************************************int Input(Student stud[],int n) //输入数据(第一学期)。

08-C语言课程设计-打飞碟(提高篇)

08-C语言课程设计-打飞碟(提高篇)

C语言课程设计--打飞碟一、游戏介绍打飞碟游戏是玩家通过鼠标控制大炮发射炮弹以及大炮发射时指向的方向,击毁从天空落下的飞碟。

飞碟每次从不同的位置、以不同的速度向下落。

打中不同的飞碟可以得到不同的分数。

我们可以显示当前的得分。

二、实验目的综合应用C语言知识开发一款小游戏。

三、实验内容1、游戏初始界面如下图。

2、按下空格键后,“空格开始”消失,一局游戏开始。

3、游戏开始后:1)鼠标变成十字星;2)地面上有一门大炮,玩家通过移动鼠标可以控制炮口在一定范围内上下移动;3)单击鼠标左键,大炮发射炮弹;4)每局游戏时间为30秒,在屏幕左上方显示,并适时更新游戏剩余时间;5)有大中小三种飞碟,按不同时间频率随机从屏幕顶部的某个位置落下。

炮弹击中大飞碟加1分,击中中飞碟加2分,击中小飞碟加10分。

得分显示在屏幕左上角。

6)游戏时间到后,游戏停止,重新显示游戏初始界面。

7)记录最高的5次游戏得分,按从高到低顺序显示在游戏底部。

游戏初始界面四、实验准备本实验中可能用到的C语言标准库函数和FunCode API Stdio.hMath.hString.hFunCode APIfloatdSetSpritePositionX(const char* szName); 设置精灵中心点的X 坐标值floatdSetSpritePositionY(const char* szName); 设置精灵中心点的Y 坐标值voiddSetSpritePosition(const char* szName, const float fPosX, const float fPosY); 设置精灵中心点的X和Y坐标值,用来将精灵放置在某个指定位置。

dSetSpritePosition(“feichong_0”, 0, 0);将名称为”feichong_0”的精灵的中心点设置在坐标(0, 0)上void dSetSpriteLinearVelocityX( const char* szName, const float fVelX); 设置精灵X轴方向速度void dSetSpriteLinearVelocityY( const char* szName, const float fVelY); 设置精灵Y轴方向速度void dSetSpriteLinearVelocity(c onst char* szName, const float fVelX, const float fVelY); 设置精灵X轴和Y轴方向速度floatdGetSpriteRotation(const char* szName); 获取精灵的旋转角度原图的角度调整后的角度获得的旋转角度即为两张图片的角度差floatdSetSpriteRotation(const char* szName, float fRot); 设置图片的旋转角度fRot>0,图片顺时针旋转;fRot<0,图片逆时针旋转。

c语言程序设计课程设计选题 (1)

c语言程序设计课程设计选题 (1)

《C语言程序设计》课程设计课题表一、A类1.职工信息管理系统设计2.职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:3.1、职工信息录入功能(职工信息用文件保存)--输入4.2、职工信息浏览功能--输出5.3、职工信息查询功能--算法6.查询方式:按学历查询、按职工号查询、条件组合查询7.职工信息删除、修改功能(可选项)8.图书信息管理系统设计9.图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

10.试设计一图书信息管理系统,使之能提供以下功能:11.1、图书信息录入功能(图书信息用文件保存)--输入12.2、图书信息浏览功能--输出13.3、图书信息查询功能--算法14.查询方式:按书名查询、按作者名查询、条件组合查询15.图书信息的删除与修改(可选项)16.图书管理系统设计17.图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等18.功能描述:19.1、新进图书基本信息的输入。

20.2、图书基本信息的查询。

21.3、对撤消图书信息的删除。

22.4、为借书人办理注册。

23.5、办理借书手续。

24.6、办理还书手续25.要求:使用文件方式存储数据。

26.实验设备管理系统设计27.实验设备信息包括:设备编号,设备种类(如:微机、打印机、扫描仪等等),设备名称,设备价格,设备购入日期,是否报废,报废日期等。

28.主要功能:29.1、能够完成对设备的录入和修改30.2、对设备进行分类统计31.3、设备的破损耗费和遗损处理32.4、设备的查询33.要求:使用文件方式存储数据。

34.学生信息管理系统设计35.学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。

试设计一学生信息管理系统,使之能提供以下功能:36.1、系统以菜单方式工作37.2、学生信息录入功能(学生信息用文件保存)--输入38.3、学生信息浏览功能--输出39.4、学生信息查询功能--按学号查询、按姓名查询、40.5、学生信息的删除与修改(可选项)41.要求:使用文件方式存储数据。

c语言课程设计参考题目

c语言课程设计参考题目

c语言课程设计参考题目
以下是一些可以作为C语言课程设计参考的题目:
1. 编写一个简单的C程序,实现一个计算器的功能,包括按键输入、按位运算、结果输出等。

2. 设计一个C语言的数据结构,例如链表、树、图等。

3. 实现一个简单的程序,用于检测一个字符串是否包含某个特
定的字符集。

4. 设计一个C程序,实现一个文件管理系统,包括文件读取、修改、删除、创建等操作。

5. 编写一个C程序,模拟一个简单的计算机操作系统,例如进程
管理、内存管理等。

6. 设计一个C程序,用于处理一个字符串,包括查找特定字符、
替换特定字符、翻译文本等。

7. 实现一个简单的编译器,用于编译C程序。

8. 设计一个C程序,用于实现一个网络应用程序,包括用户登录、数据发送、数据接收等。

9. 编写一个C程序,用于实现一个简单的图形用户界面,例如窗口、菜单、按钮等。

10. 设计一个C程序,用于处理一个音频播放器,包括音频读取、播放、暂停、中断等。

这些题目都是相对来说比较难的,但也都是C语言编程中比较经
典的应用场景。

通过这些题目的训练,可以帮助学生更好地掌握C语
言的编程思想和技巧。

C语言课程设计题目边框

C语言课程设计题目边框

C语言课程设计题目边框一、课程目标知识目标:1. 学生能理解C语言中二维数组的运用,掌握通过二维数组打印边框的基本方法。

2. 学生能够运用循环控制结构,实现不同形状和尺寸边框的打印。

3. 学生理解并掌握C语言中格式化输出,能够精确控制边框字符的布局。

技能目标:1. 学生能够编写出结构清晰、逻辑严密的C语言代码,完成边框的打印任务。

2. 学生通过本课程的学习,培养解决问题的能力,特别是在面对几何排列问题时,能够运用编程思维进行求解。

3. 学生能够通过调试程序,找出并修正代码中的错误,提高程序调试能力。

情感态度价值观目标:1. 学生通过课程实践,增强对计算机编程的兴趣,激发深入学习C语言的积极性。

2. 学生在学习过程中,培养合作精神,学会在团队中共享信息和资源,共同解决问题。

3. 学生能够在编程实践中体会编程之美,培养逻辑思维和审美观念。

课程性质分析:本课程为C语言程序设计实践课,通过设计边框打印题目,将理论知识与实际操作相结合,提高学生的实践能力。

学生特点分析:考虑到学生为高中生,具备一定的逻辑思维能力和问题解决能力,但对于C语言的掌握程度不同,课程设计需兼顾不同层次的学生需求。

教学要求分析:课程要求学生能够主动参与,动手实践,注重个体差异,教学中将提供适当的引导和帮助,确保每位学生都能在原有基础上得到提升。

通过具体的边框打印任务,将课程目标分解为可观察、可衡量的学习成果,以便于教学设计和评估。

二、教学内容1. 二维数组的概念及使用方法,参考教材第三章数组部分。

- 二维数组的声明与初始化。

- 二维数组的访问与遍历。

2. 循环控制结构,参考教材第二章循环控制部分。

- for循环的使用。

- while循环的使用。

- do-while循环的使用。

3. 格式化输出,参考教材第二章输出部分。

- printf函数的使用。

- 格式化输出控制字符。

4. 边框设计题目实践,结合教材实例进行拓展。

- 设计不同尺寸和形状的边框。

c语言课程设计大赛题目

c语言课程设计大赛题目

c语言课程设计大赛题目一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生独立编程和解决问题的能力。

具体目标如下:1.知识目标:(1)理解C语言的基本语法和编程规范;(2)掌握常用的数据类型、运算符和表达式;(3)熟悉函数的定义和调用;(4)了解数组、指针和字符串的基本操作;(5)掌握基本的数据结构和算法。

2.技能目标:(1)能够使用C语言编写简单的程序;(2)具备基本的编程能力和问题解决能力;(3)能够阅读和理解C语言的程序代码;(4)掌握调试和优化程序的方法。

3.情感态度价值观目标:(1)培养学生的团队合作意识和沟通能力;(2)激发学生对计算机科学的兴趣和好奇心;(3)培养学生的创新思维和自主学习能力。

二、教学内容根据课程目标,本课程的教学内容主要包括以下几个方面:1.C语言的基本语法和编程规范;2.数据类型、运算符和表达式的使用;3.函数的定义和调用,包括递归函数和调用约定;4.数组、指针和字符串的基本操作和内存管理;5.基本的数据结构,如线性表、栈和队列;6.常见的排序和查找算法,如冒泡排序、选择排序和二分查找;7.编程实践,包括数据结构和算法的应用。

三、教学方法为了实现课程目标,本课程将采用多种教学方法,包括:1.讲授法:通过讲解和示范,使学生掌握C语言的基本语法和编程思想;2.讨论法:引导学生进行问题讨论和思考,培养学生的团队合作意识和沟通能力;3.案例分析法:通过分析实际案例,使学生了解C语言在实际应用中的方法和技巧;4.实验法:让学生通过动手实践,加深对C语言编程的理解和掌握。

四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:选用权威、实用的C语言教材,如《C程序设计语言》;2.参考书:提供相关的参考书籍,如《C Primer Plus》、《C和指针》等;3.多媒体资料:制作PPT、教学视频等多媒体资料,帮助学生更好地理解和掌握知识;4.实验设备:提供计算机实验室,让学生进行编程实践和实验操作。

C语言课程设计参考题目

C语言课程设计参考题目

C语言课程设计参考题目C语言课程设计参考题目一、基本要求题目1、一司机出车祸后驾车逃离现场,第一位目击者记得车牌号前两位数字相同,且后两位数字也相同;第二位目击者是一位数学家,他看出车牌号是四位完全平方数。

试编程推算肇事车的车牌号。

2、有17个人围成一圈,从0号的人开始报数,凡报到3的倍数的人离开圈子,然后再数下去。

直到最后只剩下一个人为止。

问此人原来的位置是多少号。

3、编写一个程序,求3X4数组的转置矩阵。

要求在main函数里读数,在change 函数里把矩阵转置。

4、编写函数,求取两个整数m,n的最大公约数和最小公倍数。

5、用指向指针的方法对n个整数排序并输出。

要求将排序单独写成一个函数。

N 个整数在主函数中输入。

最后在主函数中输出。

6、有n个学生,每个学生的数据包括学号、姓名、年龄和两科成绩。

请编程用结构类型的数据处理方式实现如下目标:(1)在main 函数中输入原始数据;(2)在count 函数中输出各学生的总分和平均分;(3)输出总分最高的学生;(4)编写sort函数将各学生的数据按总分降序输出。

7、编写求子串函数substr(s,n1,n2),在串s中从n1位置开始取n2个字符的子串8、文件加密程序:将待加密文件以二进制打开,读入32个字节,分别与口令异或,在将4、5、6三个字分别与0xaaaa异或,即完成加密,执行第二次就解密9、编写字串str1 中找出所有小写字母转成大写字母,大写字母转成小写字母后,结果依次存入字符数组 str2 中,str1 不变仍为原字串的程序。

例如,字符串str1 为 "91A2BC. a1bc",调用函数 fun 后,字符数组str2将存入"91a2bc. A1BC",str1仍然是"91A2BC. a1bc"。

10、编写一个将某个范围在-32768~32767之间的整数转换为R进制(R=2,5,8,16)的通用程序。

[C语言课程设计题目](丁海军)

[C语言课程设计题目](丁海军)

C语言课程设计设计题丁海军本手册提供的设计题大致可分为为3类:第一类侧重于算法设计与实现;第二类侧重于文件操作。

(一)算法设计类题目1. Fibonacci数列。

Fibonacci数列的计算公式如下:fib(1) = 1;fib(2) = 1;fib(n) = fib(n-1) + fib(n-2); //对大于等于3的任意n(1)简单变量“数据平移”方法计算Fibonacci数列的第n项(正整数n通过键盘输入):说明变量old1=1,old2=1,newItem;新的Fibonacci项newItem总是“距它最近”的前两项(old1与old2)的累加和。

而后通过“old1=old2; old2=newItem;”进行所谓的“数据平移”。

接着计算另一个新的Fibonacci项newItem,依次循环,直到求出数列的第n项时为止。

(2)使用数组求出Fibonacci数列的第n项(正整数n通过键盘输入)并显示在屏幕上:说明数组f用来存放Fibonacci数列的各项之值,且仅初始化前两个元素f[0]=1,f[1]=1,而后通过f[i]=f[i-2]+f[i-1];依次计算出f[2]到f[n-1](注意f[n-1]恰为所要求出的第n项)并将该值显示在屏幕上。

2.编程序,循环进行如下的处理过程:由计算机生成简单的四则运算题;用户给出答案;计算机判断对错。

直到用户回答说不再继续做了时结束程序。

提示:可让用户选择指定出加、减、乘、除哪一种运算题,以及出一位数还是两位数的运算题;而后通过使用“rand()%10”或“rand()%100”来获得一个0到9的一位整数随机值或得到0到99的两位整数随机值来为用户出题。

还可进一步对用户所做算术题的对错次数进行记录,结束程序时给出一个某种形式的成绩。

3.数的进制转换(1)将输入的2进制数(一个非“0”即“1”的字符串)化为10进制数。

提示:用字符数组a盛放所输入的二进制数;而后从后往前逐一计算每一位的“位权”w (2的0次方、2的1次方、...),再计算“位权”乘以“位值”并累加到一个初值为0的变量value 上,最后输出该value。

c语言课程设计

c语言课程设计

课程设计任务书一、设计题目(一)学生成绩排名(二)根据条件进行学生成绩排名(三)链表的操作(链表的建立,访问,删除链表指定结点,增加结点)(四)学生成绩文件管理(五)一个综合系统(学生成绩管理系统)二、主要内容(一)学生成绩排名先采用选择法,将学生成绩从高到低进行排序,再输入一个学生的成绩,将此成绩按照排序规律插入已排好序的学生成绩数组,最后将排好序的成绩单进行反序存放。

(二)根据条件进行学生成绩排名在函数中进行10个学生成绩从高到低排名,再改进函数,进行n个学生成绩从高到低排名, 排名方式根据函数的style参数进行,如style为‘a'按升序排,style为' d ' 按降序排(a:ascending 升,d:descending 降)。

编写多个不同函数,使之能实现不同的排序算法(3种以上),再编写一个通用输出函数,(要求用函数指针做参数)能分别打印不同排序算法的结果。

(三)链表的操作(链表的建立,访问,删除链表指定结点,增加结点)建立一个动态链表,将学生数据(学号,成绩)存入链表结构中,实现链表的访问(求学生成绩的平均分,找到最高分,最低分,将其数据输出)。

删除指定学号的学生数据,对学生数据进行排序,分别在链表头部,中间,末尾插入学生数据。

(四)学生成绩文件管理定义一个结构体数组,存放10个学生的学号,姓名,三门课的成绩,输出单门课成绩最高的学生的学号、姓名、以及该门课程的成绩,输出三门课程的平均分数最高的学生的学号、姓名及其平均分,将10个学生的相关数据,存入文件中,再从文件中读出,按照平均分数从高到低进行排序,分别将结果输出到屏幕上和另一文件中,再从文件中读取第 1 ,3 , 5 ,7,9个学生的数据。

(五)学生成绩管理系统设计:数据库的数据项主要数据包括:学号、姓名、年级、专业、成绩1、成绩2、成绩3、平均成绩、总成绩。

要求具有以下功能:(1)添加、删除任意个记录。

C语言课程设计--猜数字游戏

C语言课程设计--猜数字游戏

课程设计报告课程名称C语言程序设计课题名称猜数字游戏专业机械设计及其自造化班级1185班学号201113090516姓名指导教师王颖2 0 1 2年6 月2 2 日湖南工程学院课程设计任务书课程名称C语言程序设计课题猜数字游戏专业班级机械设计1185 班学生姓名学号201113090516指导老师王颖审批王颖任务书下达日期2012 年6 月 1 日任务完成日期2012 年6 月22 日设计课题四:猜数字游戏一、问题描述:该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。

玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。

A表示位置正确且数字正确,B表示数字正确而位置不正确。

二、功能要求:1、本游戏显示这样的菜单:(1)随机产生数据(2)用户输入数据(3)退出游戏2、游戏成功与否都能返回主菜单三、算法提示:1、数据结构:数组2、用简单的程序设计方法四、测试数据:测试数据: 3792第一次输入: 12340A2B第二次输入: 56780A1B第三次输入: 08670A1B第四次输入: 97861A1B第五次输入: 17942A0B第六次输入: 27932A2B第七次输入: 37924A0B游戏过关!!!五、其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。

目录第一章绪论 (1)第一节项目背景 (1)第二节本课题所做的工作 (2)第二章需求分析第一节用户需求分析 (3)第二节开发环境分析 (4)第三章程序设计 (5)第一节程序的功能 (5)第二节输入输出的要求 (5)第三节程序模块 (6)第一条模块组成 (6)第二条层次结构 (8)第三条模块调用 (9)第四章分析 (10)第一节模块解释与功能 (10)第五章调试 (14)第一节菜单测试 (14)第二节游戏测试 (16)第一条在自定义中 (16)第二条在随机游戏中 (19)第六章总结 (21)第七章附录 (23)第一节附录A 源程序 (23)第二节附录B 参考文献 (32)课程设计评分表 (33)第一章绪论第一节项目背景C语言一共有32个关键字,9种控制语句,程序书写形式自由,主要用小写字母表示。

C语言课程设计题目

C语言课程设计题目
设计哈希表实现电话号码查询系统。
基本要求:
1、设每个记录有下列数据项:电话号码、用户名、地址;
2、从键盘输入各记录,分别以电话号码和用户名为关键字建立哈希表;
3、采用再哈希法解决冲突;
4、查找并显示给定电话号码的记录;
5、查找并显示给定用户名的记录。
6、在哈希函数确定的前提下,尝试各种不同类型处理冲突的方法(至少两种),考察平均查找长度的变化。
2
五子棋小游戏
设计实现基于命令行的五子棋小游戏
1、实现五子棋的人人对局功能
2、实现五子棋的人机对局功能
3、实现两机对局
要求:具体的图形化展示整个游戏。1、2必须实现,第3不做要求,根据个人能力自己决定是否实现(不实现不影响成绩,如果能实现将得到加分)。
3
俄罗斯方块游戏
设计实现一个具有基本形状的俄罗斯方块游戏
(3)如何把某一个k进制的数化为10进制数
采用文件、Windows图形化输入界面等操作来实现。
6
用指针优化学生成绩排名
1.定义一个数组stu[10]存放10个学生的成绩,从键盘输入数据,要求用指针实现
2.将数组stu[10]的内容输出到屏幕上,要求用指针实现
3.将成绩数组按照从高到低进行排序,要求用指针实现
C语言课程设计
一、游戏类题目
序号
题目名称
题目要求
1
马踏棋盘
设计一个国际象棋的马踏棋盘的演示程序
要求:具体的图形化展示整个游戏。将马随机放在国际象棋的8×8棋盘的某个方格中,马按照走棋的规则进行移动。要求每个方格只进入一次,走遍棋盘的全部64个方格。编制非递归程序,求出马的行走路线,并按求出的行走路线,将1,2,…,64依次填入一个8×8的方阵,并输出。

C语言程序课程设计备选题目

C语言程序课程设计备选题目

封面作者:PanHongliang仅供个人学习说明:1题目来源是:(1)较重要C语言程序设计教科书中的例题或习题;(2)与计算机学科相关的后续课程,如数据结构、离散数学、组合数学、计算方法等课程教科书中的例题或习题中,不需要相关后续课程的专门知识就可以很好解答的题目;其它有影响计算机程序设计类书籍或文章中的例题;(3)各级各类计算机程序设计竞赛(例如ACM大赛)、程序员考试、求职面试的训练题和考试卷等.欢迎老师和同学们提供更好的题目.2题目内容涉及的知识点不超过大学一年级的知识水平,主要目标是训练学生将实际问题转化为计算机可以处理的形式并编写程序给出解答的能力.去掉了较复杂事务管理如图书管理、学生成绩管理之类的题目,这类事务管理方面题目希望在后续课程如C++面向对象程序设计、数据库应用及各专业的课程设计中进行.3 题目有多种完全不同的解答,给出的提示主要供指导教师参考.题目1:文件存取练习:要求实现如下功能:(1)定义函数Rand1000(), 随机生成1000个均不相同的正整数,并写入到文本文件“file1.dat”中,各数之间用空格来分隔.(2)编写一个函数input(int a[],int n),将上述数据读入到数组a中.(3)编写一个函数digitcount(int a[],int n,int b[10]), 统计数组a的每个元素保存的整数中,每位数字出现的次数,并分别保存在b[0]到b[9]中.(4)编写函数maxprime(int *p,int n), 找出其中最大的素数,如果不存在素数函数结果为0.(5)对于这些整数排序之后,分别输出相邻两数之差最大和之差最小的两个数,如果有多组满足条件要输出所有的.(6)定义函数myinput(int a[],int n),用fgetc函数从文件“file1.dat”上逐个读入字符,并将其转换成独立的正整数,并依次存入数组a中.提示:可查阅任何一本C语言程序设计教科书中关于文件部分,例如谭浩强,C程序设计(第三版),第13章.还需要熟悉随机数生成函数rand(),需要编写判断一个奇整数是否素数的程序等.部分可供参考程序如下:题目2:两个文件同时对照显示:程序从两个文件中读出文本行,并列显示在屏幕上.假定屏幕有80列,25行,则第0—34列显示第一个文件的内容,第40—74列显示第二个,第77-78行显示文本总的行序号.每屏显示20行,超过20行就显示在下一屏.程序应该能够以这种方式显示任意的两个文本文件,例如两个C程序源代码文件,两篇内容类似的文章形成的两个文本文件等.提示:先把两个文本文件读入,存入数组,再考虑显示的安排.题目3:实现一个C语言程序设计自助学习系统,要求实现的基本功能如下:1、测验(1)可以按固定的试卷数目,从题库中随机选取题目进行测试,如每次测试5道题或10道题.(2)每次只显示一道题,包括问题描述、备选答案;(3)根据学生答题结果,对比试卷答案,显示答题对错的信息;(4)答题全部结束后给出本次测试的成绩,按百分制评分.2、学习管理(1)通过题目浏览,自我测验,查看题解的过程来帮助学生学习.(2)需要为学生提供多种学习方式,至少应包括顺序选题学习和随机选题学习等方式.(3)如果是采用顺序选题方式学习,需要做到可以从中间某个位置开始学习,不是每次一定从第一题开始学习.3、题库管理(1)试卷库中保存全部试卷及其相关信息.(2)将要入库的试卷,按固定格式编辑整理好保存在ASCII文件中,通过计算机程序读取该文件,并将文件中的全部试卷添加到已有的试卷库中.(3)今后需要对于所有试卷分类进行管理,在库结构设计时,要考虑这些扩展功能的数据接口要求.(4)试卷库初始化,将试卷库内容全部清空,便于重新建立系统.提示:可以参考:余江,肖淑芬主编,C语言程序设计,天津科学技术出版社,2001年5月,273-313页.题目4:实现题目3中C语言程序设计自助学习系统得升级版,可考虑实现功能:一、测验1、系统自动组卷(1)试卷结构说明:以题库提供的试卷类别和各类试卷的数量为依据来实现.系统组卷前需要获得的信息是对于每类试卷要含有类别名称、试卷数、分数,所有类别的分数累加在一起要恰好是100分.(2)试卷保存:将上述组卷结果保存在二进制文件中,文件名由用户输入. (3)个性化组卷:输入学号后,系统根据试卷结构说明的规定自动组卷,做到每个学生试卷不同.2、错题本功能(1)答错的题目自动加入到错题本中;(2)可以对错题本中的题目逐题测验,不分题目类别;(3)可以制定分类测试.3、多科目测试二、学习管理1、分类别学习2、错题本内容学习3、多科目学习,选择科目后可以进行指定类别的分类别学习和错题本内容学习.三、题库管理1、入库试卷文件格式正确性检查.包括:试卷的描述的合法性检查,类别信息合法性检查,给出出错位置的信息.2、对于分类试卷存储方式的优化,例如:同类试卷连续存储的实现;3、目前完成的是单科目多类别的题库管理,要实现多科目多类别的题库管理.四、用户管理1、系统注册2、登录3、错题本等个性化信息管理4、屏幕背景颜色和字符颜色的设置5、学习位置的记载,要按科目记载,每个科目要按类别记载.提示:鼓励使用更多方法实现,例如使用数据库系统,VC++等.题目5:给出一个正整数n,一个存放1到n共n个正整数的数字金字塔构造如下:(1)1在最上方第0层;(2)如果x大于y并且x除以y的余数为0(即x>y && x%y = = 0),x要放在y下方一层(即若y在第i层,x应在i+1层);(3)每个数应尽可能放在更下方,即如果可以放在第i层,就不能放在i-1层;(4)相同层上的数从左向右从小到大排列.其实第i层是有i个素数因子的数的从小到大的排列.例如对n=6,符合这组规则的数字金字塔如下:12 3 54 6每个数按照它在塔中的位置从上到下从左到右从1开始编号,例如5,编号应该是4.要求你编写程序,输入一个正整数n,5<n<50, 再输入3个不大于n的正整数,然后程序输出所构造的数字金字塔,及所输入3个不大于n的正整数在数字金字塔中的编号.例如设输入了6,3,4,5,程序可以输出:12 3 54 6 //用数组形式表示数字金字塔.3,5,4 //分别是3,4,5在数字金字塔中的编号.程序编写完成后,要求给出你的程序对下列两组输入的结果:(1)10,7,8,9 (2)25,15,20,25提示:本题为2010年ACM大赛题目,鼓励使用更多方法实现.题目6:你一定很熟悉著名的Hanoi塔游戏,当理解了圆盘数目较多需要的时间太长之后,你可以放弃实际去移动圆盘,但你不应该放弃如下一个有点类似的游戏:设有n根柱子,每根柱子上有一个圆盘,圆盘上有一个正整数,不同圆盘上的数不同.初始时假定柱子按照其上圆盘上数的大小从左向右排列,移动规则是从左向右看,当前一根柱子最下圆盘上数与后一根柱子最上圆盘上数相加的和是一个完全平方数时,前一根柱子上所有圆盘移动到后一根柱子上方.要求你编写程序,输入柱子数目和圆盘上的整数,输出移动的过程和结果.例如,一组输入是:4,1,3,5,6,第一个数4表示有4根柱子,圆盘上的数依次是1,3,5,6.你的程序运行后,可以输出1->3->6, 5, c=2,表示移动是1到3,3到6,因为1+3=4, 3+6=9,而4和9是完全平方数,符合条件的移动只有这两次.移动结果是还有2根柱子上有圆盘,即c=2,有圆盘的一根柱子上圆盘3个,有数1->3->6,有圆盘另一根柱子上圆盘一个,有数5,它其实没有发生移动.程序编写完成后,要求给出你的程序对下列两组输入的结果:(1)9,1,2,3,4,5,6,7,8,9(2)10,1,3,5,7,9,11,13,15,17,19(本题为2010年ACM大赛题目.)提示:输入:9,1,2,3,4,5,6,7,8,9 输出:1->3->6, 2->7->9,4->5,8,c=4输入:10,1,3,5,7,9,11,13,15,17,19 输出:1->3->13, 5->11,7->9,15,17->19,c=5题目7:我们知道,在10进制数中有判断整除性的二个简单规则:一个正整数能够被3整除,当且仅当,它的各位数字之和能够被3整除;一个正整数能够被11整除,当且仅当,它的奇数位数字之和与偶数位数字之和的差能够被11整除;现在要问:对于b进制数,具有类似于10进制数的3和11的这种整除性判断的数是什么?具体地,请编写程序,输入进制的基数b,输出最小的可以如上判断整除性的数x和y.为确定,输入输出均采用10进制数.例如输入b为10,则自然要输出x为3,y为11;若输入b为8,则要输出x为7,y为3(例如8进制数25,按上述规则判断应能够被7和3整除,事实上,8进制数25是10进制数21,能够被7和3整除是显然的);若输入b为120,则要输出x为7,y为11(请自己验证这是对的).(本题为2011年ACM大赛题目.)提示:对于10进制数,10-1=9=3*3,10+1=11,10进制数n可以一般地表示为:n = a k10k + a k-110k-1 + ……+ a110 + a0保持n不改变数值将10换为10 –1和10+1,可以看出3和11可以如上判断整除性的理由.对于b进制数,n = a k b k + a k-1b k-1 + ……+ a1b + a0可以想到只需考虑b – 1和 b+1的最小因子.题目8:如果语文数学两门课程的成绩,甲同学分别是80分和90分,乙同学是90分和80分,丙同学是70和60分,这时比较甲同学和乙同学的成绩,只能说语文较差,数学较好,综合到一起就属于无法比较,但对丙同学可以比较,可以说甲和乙同学的成绩都比丙同学好.一般情况,设有一个三元向量的集合,若其中有向量P=(p1, p2, p3), Q=(q1, q2, q3), 规定P≦Q 当且仅当p1≦q1, p2≦q2, p3≦q3 .其中一个向量称为是一个极小元素,当且仅当它只≦它自己.例如如下三个三元向量组成了向量组(80,90,100),(90,80,70),(60,70,60),其中只有一个最小元素,是(60,70,60).请编写程序,输入n个三元向量,输出其中最小元素的数目.(本题为2011年ACM大赛题目.)提示:先对第一个坐标排序,再考虑第二个坐标,第三个坐标.题目9:在某城市有n座摩天大楼,问那二座之间的距离最小?设可以输入所有大楼的位置坐标,请编写程序输出距离最近的二座大楼及它们之间的距离.两点(x1, y1) 和 (x2, y2) 之间的距离d按照两种不同方式规定:(1)Euclid距离d =(2)Manhattan距离 d = | x1 –x2 | + | y1–y2 |.显然的解法是计算所有点对之间的距离再找出最小值,但本题只要求输出距离最近的二点及之间距离,所以应该给出不计算所有点对之间距离的更有效率的解法(本题为2011年ACM大赛题目).(可查阅:[沙特]M.H.Alsuwaiyel著,吴伟昶等译,算法设计技巧与分析,电子工业出版社,2004年8月,第121-124页.或者:[美]Michael T.Goodrich等著,霍红卫译,算法分析与设计,人民邮电出版社,2006年10月,第385-387页.)提示:找到两点距离d后,接下去可检查宽不超过d的长条.题目10:一条贪吃的蛇在一个n*m的网格中游走,它只能从一个方格走向另一个相邻的方格,这里相邻的意思是两个方格有公共边.每个方格可以看作是一个房间,其中一些是空的,一些存放有苹果.贪吃的蛇根本不进入空的房间,而进入有苹果的房间后就可以带走所有苹果使房间成为空的.蛇从一个指定的房间出发,最终回到它的家,把一路带来的苹果存储到家中,当然,它希望带来的苹果最多.请编写程序,输入有整数n和m,及n*m的一个矩阵,矩阵元素数值中有一个是-1,表示蛇的出发位置,有一个是-2,表示蛇的家的位置,其余数值是非负整数,0表示房间为空,非零整数表示苹果的数目.输出蛇选择的游走路径和获得的最多的苹果数目.例如输入4*4矩阵:7 0 4 184 0 1 115 7 11 -10 12 -2 0则应输出 (2, 3), (1, 3), (0, 3), (0, 2), (1, 2), (2, 2), (2, 1), (3, 1), (3, 2), 带回苹果数为1+18+4+1+11+7+12 = 54.(本题为2011年ACM大赛题目).(可查阅:吕国英,任瑞征等编著,算法设计与分析(第2版),清华大学出版社,2009年1月,第200-202页.提示:这是一个利用回溯算法的迷宫搜索类型问题,可参考类似问题的已有解法.题目11:化学家研究原子团的行为时,认为每个原子具有整数能量,这个整数可以是正数、零和负数,绝对值不超过100.可以认为原子排列成为一行,一行中任意多个连续的原子可以形成原子团,原子团的能量是其中各原子能量的代数和.问题是怎样编写程序,求出具有最大能量的原子团和能量数值.要求程序输入一列原子的能量数值,以-1结束,输出找到的能量最大的原子团及能量数值.例如输入8,0,6,4,-2,-1,应输出原子团8,0,6,4,及能量数值18.(本题为2010年ACM大赛题目)(可查阅:吕国英,任瑞征等编著,算法设计与分析,清华大学出版社,2009年1月,第265-270页).提示:这是最大子段和问题.题目12:一刀可以把蛋糕分为两个部分,现在给出要分为两部分的面积的比值,希望求出切口的弦的长度.这里当然要假定蛋糕是一个圆,并设其半径为 1.例如,输入两部分比值为1:1,切口是直径,长为2;输入1:2,应输出1.9285;输入10:1,应输出1.4145.(本题为2010年ACM大赛题目)提示:计算半弦长,可以利用公式a2=2rh-h2,计算弓形面积,用公式s=0.5*xita*r*r-a*sqrt(r*r-a*a)。

C语言课程设计选题

C语言课程设计选题

C语言课程设计选题一、c语言课程设计选题如下(每个题目不能超过五人选择)1、课题:设计一个万年历功能要求:1.输入年份,并分段返回全年日历(包括年、月和周)。

2.注意闰年2、课题:设计简单的计算器功能要求:1.通过菜单选择实现。

判断采用加减乘除法。

选择规则后,输入两个要计算的数字并输出计算结果。

3.主题:做一个猜谜游戏。

功能要求:1、计算机产生随机数,猜中即胜,猜不中,提示是大了还是小了,继续猜,直到我猜2、猜中后给出所用的时间和评语4、课题:将任一整数转换为二进制形式功能要求:将任意整数转换成二进制形式,输出5。

主题:小学生考试大纲的功能要求:1、电脑随机出10道题,每题10分,程序结束时显示学生得分2、不能有负数3.每个问题有三次输入答案的机会。

当输入错误答案时,提醒学生重新输入,若三次机会结束则输出正确答案4、对于每道题,第一次输入正确答案得10分,第二次输入正确答案得7分,如果你第三次输入正确答案,你会得到5分,否则你不会得到5分。

如果总分超过90分,则显示“智能”,80-90:good70-80:ok60-70:pass60以下:tryagain6.主题:24个游戏功能要求:输入四个一位数,通过加减乘除,允许加入括号,计算出24,显示计算过程,并提示成功信息7、课题:大数相乘功能要求:1.大整数指超过十位的十进制整数。

这里很简单,假设不超过50位。

由于超界溢出,这种大整数在C语言系统中无法直接表达和计算。

您可以使用数组来表示大整数,并在此基础上编写程序来乘以大整数。

8.主题:从十六进制到十进制的转换功能要求:实现输入一个十六进制,转换为十进制的设计9、课题:位数大小排序功能要求:输入一个五位整数,将该整数中的五个值从大到小排序,形成一个新的五位整数,并输出该整数。

10.主题:回文的形成功能要求:取任意十进制整数,将其加回原始整数,得到一个新整数,然后重复上述步骤,最终得到一个回文数。

请进行程序验证。

《C语言程序设计课程设计》题目

《C语言程序设计课程设计》题目

1 一元稀疏多项式的运算问题描述:设有两个带头指针的单链表表示两个一元稀疏多项式A、B,实现两个一元稀疏多项式的处理。

实现要求:⑴输入并建立多项式;⑵输出多项式,输出形式为整数序列:n,c1,e1,c2,e2……c n,e n,其中n是多项式的项数,c i,e i分别为第i项的系数和指数。

序列按指数降序排列;⑶多项式A和B相加,建立多项式A+B,输出相加的多项式;⑷多项式A和B相减,建立多项式A-B,输出相减的多项式;⑸多项式A和B相乘,建立多项式A×B,输出相乘的多项式;⑹设计一个菜单,至少具有上述操作要求的基本功能。

测试数据:(1) (2x+5x8-3.1x11)+(7-5x8+11x9)(2) (6x-3-x+4.4x2-1.2x9)-(-6x-3+5.4x2+7.8x15)(3)(x+x2+x3)+0(4)(x+x3)-(-x-x-3)2 成绩排序假设某年级有4个班,每班有45名同学。

本学期有5门课程考试,每门课程成绩是百分制。

假定每个同学的成绩记录包含:学号、姓名各门课程的成绩共7项,其中学号是一个10位的字符串,每个学生都有唯一的学号,并且这4个班的成绩分别放在4个数组中,完成以下操作要求:⑴编写一个成绩生成函数,使用随机数方法,利用随机函数生成学生的各门课程的成绩(每门课程的成绩都是0∽100之间的整数),通过调用该函数生成全部学生的成绩;⑵编写一个平均成绩计算函数,计算每个同学的平均成绩并保存在成绩数组中;⑶用冒泡排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑷ 用选择排序法对4个班的成绩按每个同学的平均成绩的以非递增方式进行班内排序;⑸ 对已按平均成绩排好序的4个班的同学的构造一个所有按平均成绩的以非递增方式排列的新的单链表;⑹ 设计一个菜单,至少具有上述操作要求的基本功能。

3 栈及其操作问题描述:栈(Stack):是限制在表的一端进行插入和删除操作的线性表。

广西大学C语言课程设计题目

广西大学C语言课程设计题目

广西大学C语言课程设计题目《程序设计基础》课程设计题目课程设计的题目见附件。

要求是每人一题。

除了完成题目的基本要求外,鼓励同学们在做设计时的创新思路和设计!一、设计实现一个模拟的小型教务管理系统1 目的通过小型教务管理系统的设计,培养学生综合利用C语言进行程序设计的能力,加强函数的运用及学生对软件工程方法的初步认识,提高软件系统分析能力和程序文档建立、归纳总结的能力,培养学生利用系统提供的标准函数及典型算法进行设计。

2 基本要求该系统用于管理学生的基本信息、课程成绩及毕业资格审查。

要求实现以下功能:①通过此模块来管理课程信息,包括查询,添加,修改,删除等功能。

在进行课程信息添加时,系统会自动监测所添加的信息是否已经存在,如果存在,会提示已经存在。

在进行课程信息删除时,同样要求再次确定。

②实现对学生信息、课程成绩及毕业资格审查的文件存取(分别存储在StudentInfo.txt、StudentScore.txt和GraduateCheck..txt文件中),实现对学生信息、课程成绩的记录增加、删除及修改;③实现输入学生学号或姓名查询并显示学生的课程成绩;④实现输入学生学号或姓名,根据该学生的课程成绩,显示毕业资格审查结果。

学生的基本信息记录,如:学号20210999 …… 学号20210999 20210999 20210999 20210999 …… 学号20210999 20210999 20210999 20210999 提示及说明姓名张三…… 课程名称毛泽东思想概论高级语言程序设计 WEB程序设计 IT企业管理…… 课程性质公共必修专业必修专业选修素质课性别男…… 课程性质公共必修专业必修专业选修素质课…… 应修学分数 10 30 25 15 出生日期 1980年6月1日…… 学分 4 3 2 1 …… 已获学分数 10 29 28 16 专业软件工程…… 成绩60 70 80 90 …… 是否通过是否是是学生的课程成绩记录,如:毕业资格审查结果,显示信息如下:(1)学生记录、生日请用结构体完成存储,课程性质及专业请用枚举类型存储。

C语言课程设计--计算器(图形界面)

C语言课程设计--计算器(图形界面)

C语言课程设计--计算器(图形界面)扬州大学C语言课程设计报告题目一个简易计算器的设计与实现班级学号姓名指导教师成绩老师评语:第 2 页共 14 页第 3 页共 14 页一、系统调试…………………………………………8,9,10,11二、课程设计体会总结………………………………8,9,10,111 课程设计目的(1).课程设计是一项综合性实践环节,是对平时实验的一个补充,课程设计内容包括课程的主要理论知识,但由于C语言对初学者较难掌握,因而对一个完整的C语言程序不适合平时实验。

通过课程设计可以达到综合设计C语言程序的目的。

(2)通过本课程设计,可以培养独立思考,综合运用所学有关相应知识的能力,能更好地使用C语言的知识,更好地了解C语言的好处和其可用性!掌握基本的程序设计过程和技巧,掌握基本的分析问题和利用计算机求解问题的能力,具备初步的高级程序设计能力。

为后续各门计算机课程的学习和毕业设计打下坚实基础!(3)通过本程序训练程序设计的基本技能,掌握字符串的表示方法和字符串函数的功能、自学掌握四则运算的算法及WIN-TC的图形操作的基本知识、键盘上特殊键的获取及图形方式下光标的显示。

2 课程设计内容目的:本课程的课程设计要求学生模拟实现一个简单计算器,要求(1)能够实现四则运算,并能支持优先级运算。

(2)三角与反三角运算:如sinx,cosx等。

(3)指数对数运算:如log(x),lnx,e的x次方等。

(4)其他运算:如X!,x 的累加等。

(4)不允许调用库函数,使用自行开发的程序实现常用函数运算。

(5)进一步考虑计算器外观设计,用可视化界面给出计算器外观、功能按键及输入界面。

使用说明:执行加法运算,'—'表示执行减法运算,表示执行乘法运算,'/'表第 4 页共 14 页示除法运算.‘Q’表示退出计算器‘C’表示清零,’=’表示得出结果'^'表示执行x的y次方,'e'表示执行e的x次方操作,'&'表示执行累加操作.,你可以可以用键盘上的上下左右键对光标进行移动,当光标移动到计算器按键上时,按ENTER即可执行该键的操作!最后按“=”则可得出结果。

C语言课程设计选题

C语言课程设计选题

本文由植之小姐贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

C 语言课程设计任务书 1 题目: 题目:某学院教学信息管理系统 功能: 每一条记录包括一位教师的职工号、姓名、职称、性别、 门主讲课程( 功能:1、每一条记录包括一位教师的职工号、姓名、职称、性别、3 门主讲课程(课程名 开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。

 ),教学效果综合评分 称、开课学期、课程性质(学位与非学位课)和教学效果),教学效果综合评分。

 输入功能:可以一次完成若干条记录的输入。

 2、输入功能:可以一次完成若干条记录的输入。

 显示功能:完成全部教师记录的显示。

 3、显示功能:完成全部教师记录的显示。

 查找功能:完成按姓名或课程查找教师的相关记录,并显示。

 4、查找功能:完成按姓名或课程查找教师的相关记录,并显示。

 排序功能:按职工号或教学效果综合评分进行排序。

 5、排序功能:按职工号或教学效果综合评分进行排序。

 插入功能:按教学效果综合评分高低插入一条教师记录。

 6、插入功能:按教学效果综合评分高低插入一条教师记录。

 将教师记录存在文件中。

 7、将教师记录存在文件中。

 应提供一个界面来调用各个功能 来调用各个功能, 8、应提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰 美观! 美观! 要求: 语言实现系统; 要求:1、用 C 语言实现系统; 利用结构体数组实现教学信息的数据结构设计; 2、利用结构体数组实现教学信息的数据结构设计; 系统具有增加,查询,插入,排序等基本功能; 3、系统具有增加,查询,插入,排序等基本功能; 系统的各个功能模块要求用函数的形式实现; 4、系统的各个功能模块要求用函数的形式实现; 将教学信息存在文件中。

 5、将教学信息存在文件中。

 课程设计的最后成果是实验报告一份,内容包括: 课程设计的最后成果是实验报告一份,内容包括: 预习报告(题目、流程图、程序的设计思想等) 1、预习报告(题目、流程图、程序的设计思想等) ; 实验总结报告(测试方案、源程序代码(需打印) 调试中问题及解决方案、 、调试中问题及解决方案 2、实验总结报告(测试方案、源程序代码(需打印) 调试中问题及解决方案、小 、 结等) 结等) 。

c语言课程设计课题

c语言课程设计课题

c语言课程设计课题一、教学目标本课程的目标是让学生掌握C语言的基本语法、数据结构、算法和编程思想,培养学生具备基本的编程能力和良好的编程习惯。

通过本课程的学习,学生将能够熟练使用C语言进行程序设计,并具备进一步学习计算机科学相关领域知识的能力。

具体来说,知识目标包括:1.理解C语言的基本语法和编程规范;2.掌握常用的数据类型、运算符和表达式;3.熟悉控制结构、函数、数组和指针等编程基础;4.了解常用的数据结构和算法;5.理解程序设计的基本思想和方法。

技能目标包括:1.能够运用C语言编写简单的程序;2.能够独立分析和解决编程过程中遇到的问题;3.具备良好的编程习惯和代码能力;4.能够使用调试工具对程序进行调试和优化。

情感态度价值观目标包括:1.培养学生的创新意识和团队合作精神;2.增强学生对计算机科学的兴趣和热情;3.培养学生具备解决问题的能力和勇于挑战自我的精神。

二、教学内容本课程的教学内容主要包括C语言的基本语法、数据结构、算法和编程思想。

具体安排如下:1.C语言概述:介绍C语言的发展历程、特点和应用范围;2.基本语法:讲解数据类型、运算符、表达式、控制结构等基本语法知识;3.数据结构:介绍数组、指针、字符串、栈、队列等数据结构的基本概念和应用;4.函数:讲解函数的定义、声明、调用和返回值等概念,以及函数的编写和调试;5.算法:介绍常用的排序、查找等算法,并分析其时间和空间复杂度;6.编程实践:通过案例分析和实验操作,培养学生的编程能力和解决问题的能力。

三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学。

具体包括:1.讲授法:讲解C语言的基本语法、数据结构和算法等知识;2.讨论法:学生进行小组讨论,共同解决问题,培养学生的团队合作精神;3.案例分析法:通过分析实际案例,让学生了解C语言在实际应用中的重要作用;4.实验法:安排实验课程,让学生动手实践,提高编程能力和解决问题的能力。

C语言课程设计(计算器)

C语言课程设计(计算器)

目录1 前言 (2)2 需求分析 (2)2.1要求 (2)2.2任务 (2)2.3运行环境 (2)2.4开发工具 (2)3 概要设计 (2)3.1系统流程图 (3)3.2查询函数流程图 (4)4 详细设计 (8)4.1分析和设计 (8)4.2具体代码实现 (9)5 课程设计总结 (25)参考文献 (25)致谢 (26)1 前言编写一个程序来实现算术计算器。

通过结构体数组和共用体数组来存放输入的每一数字或运算符号的记录(包括1.2.3等数字, +、--、*、等运算符号), 然后将其信息存入文件中。

输入一个算术计算式, 就在屏幕上显示结果。

2 需求分析2.1要求(1)用C语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交), 程序要有注释。

2.2任务(1)定义一个结构体类型数组, 输入0~9及+、--、*等符号的信息, 将其信息存入文件中;(2)输入简单的加减乘除算术计算式, 并在屏幕上显示计算结果;(3)画出部分模块的流程图;(4)编写代码;(5)程序分析与调试。

2.3运行环境(1)WINDOWS2000/XP系统(2)TurboC2.0编译环境2.4开发工具C语言3 概要设计3.1系统流程图如图3.1所示。

图3.1系统流程图3.2查询函数流程图4 详细设计4.1分析和设计在程序的开头部分定义了结构替类型, 用来存放按钮信息struct s_button /*按键的结构体*/{int sx,sy,ex,ey;char *head;int press;}button[17]; /*图表按键数*/char far *vid_mem;static int tx=32,ty=3; /*静态变量*/float v1=0.0,v2=0.0;用输入函数input()来输入按键放在s_button数组中。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言课程设计题目 Revised by BETTY on December 25,2020C语言课程设计题目一、实训要求1)C语言课程设计要求1.可自己选定一题目,限1人选的题目只能由1人单独完成,如限3人选的题目可由1-3人完成。

2.模块化程序设计3.4.锯齿型书写格式5.6.必须上机调试通过7.2)课程设计报告内容要求:1.课程设计题目2.总体设计(程序设计组成框图、流程图)3.详细设计(模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)4.调试与测试:调试方法,测试结果的分析与讨论,测试过程中遇到的主要问题及采取的解决措施5.源程序清单和执行结果:清单中应有足够的注释6.具体格式另附说明。

3)检查要求:1.每个人必须有程序运行结果;2.每个人必须交《课程设计报告》打印稿---—注:各班班长将本班学生的课程设计报告电子版用优盘拷贝(标上学号、姓名、班级)上交。

4)打分标准:1.根据平时上机考勤;注重平时上机成绩,教师要不定期检查学生进度,学生不得以自己有私人电脑为借口而不来上机。

2.根据程序运行结果;3.根据《C语言课程设计报告》,学生能对自己的程序面对教师提问并能熟练地解释清楚以上三项缺一不可,否则不能到得相应学分二、课程设计题目:1:职工信息管理系统设计(限最多3人完成)职工信息包括职工号、姓名、性别、年龄、学历、工资、住址、电话等(职工号不重复)。

试设计一职工信息管理系统,使之能提供以下功能:系统以菜单方式工作职工信息录入功能(职工信息可用文件保存)--输入职工信息浏览功能--输出查询和排序功能:(至少一种查询方式)--算法按工资查询按学历查询等职工信息删除、修改功能(任选项)2:图书信息管理系统设计(限最多3人完成)图书信息包括:登录号、书名、作者名、分类号、出版单位、出版时间、价格等。

试设计一图书信息管理系统,使之能提供以下功能:系统以菜单方式工作图书信息录入功能(图书信息用文件保存)--输入图书信息浏览功能--输出查询和排序功能:(至少一种查询方式)--算法按书名查询按作者名查询图书信息的删除与修改(可选项)3:学生信息管理系统设计(限最多3人完成)学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。

试设计一学生信息管理系统,使之能提供以下功能:系统以菜单方式工作学生信息录入功能(学生信息用文件保存)---输入学生信息浏览功能---输出查询、排序功能---算法按学号查询按姓名查询学生信息的删除与修改(可选项)4:学生选修课程系统设计(限最多3人完成)假定有n门课程,每门课程有课程编号,课程名称,课程性质,总学时,授课学时,实验或上机学时,学分,开课学期等信息,学生可按要求(如总学分不得少于60)自由选课。

试设计一选修课程系统,使之能提供以下功能:系统以菜单方式工作课程信息录入功能(课程信息用文件保存)--输入课程信息浏览功能--输出查询功能:(至少一种查询方式)--算法按学分查询按课程性质查询学生选修课程(可选项)5:销售管理系统(限最多3人完成)某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。

每个销售员都将当天出售的每种产品各写一张便条交上来。

每张便条包含内容:1)销售员的代号2)产品的代号3)这种产品的当天的销售额每位销售员每天可能上缴0-5张便条。

假设,收集到了上个月的所有便条,编写一个处理系统,读取上个月的销售情况(自己设定),进行如下处理。

1)计算上个月每个人每种产品的销售额。

2)按销售额对销售员进行排序,输出排序结果(销售员代号)3)统计每种产品的总销售额,对这些产品按从高到底的顺序,输出排序结果(需输出产品的代号和销售额)4)输出统计报表销售统计报表能反映出:销售员代号产品代号销售之和每种产品之和总和6:设计一个简单计算器(限最多3人完成)算术计算器的实现实现过程和步骤提示:1. 首先实现一个简单的算术器1。

功能说明:程序首先显示计算器界面,并等待用户输入一个算术计算式(见图1所示)。

假如用户输入22+1<CR>,程序将在计算器的显示屏上输出计算结果(见图2所示)。

如果输入错误,显示input error!。

#include <>#include <> void main(){float a,b; char c;clrscr();gotoxy(1,2); printf("谀哪哪哪哪哪哪哪哪哪哪哪哪縗n"); printf(" 砛n");printf("媚哪哪哪哪哪哪哪哪哪哪哪哪碶n");printf(" 1 2 3 + - 砛n");printf(" 砛n");printf(" 4 5 6 * / 砛n");printf(" 砛n");printf(" 7 8 9 = \x1b 砛n");printf(" 砛n");printf(" 0 . End 砛n");printf("滥哪哪哪哪哪哪哪哪哪哪哪哪贼n");gotoxy(2,3);4F 要功能:(1) 能按学期、按班级完成对学生成绩的录入、修改(2) 能按班级统计学生的成绩,求学生的总分及平均分,并能根据学生的平均成绩进行排序(3) 能查询学生成绩,不及格科目及学生名单(4) 能按班级输出学生的成绩单8:通讯录管理(限最多3人完成)设一个通信录由以下几项数据信息构成:数据项 类型姓名 字符串地址 字符串邮政编码 字符串电话号码 字符串1.主要功能: (1) 能建立、查询、修改和增删学生通讯录(2) 能够按多种方式进行查询图1 图2 图3 计算器3流程图2.要求:界面友好,易于操作9:一元多项式简单的计算器(限最多1人完成)1主要功能:(1)输入并建立多项式;(2)输出多项式;(3)两个多项式相加,建立并输出和多项式;(4)两个多项式相减,建立并输出差多项式。

(5)算法的时间复杂度、另外可以提出算法的改进方法实现提示:可选择带头结点的单向循环链表或单链表存储多项式,头结点可存放多项式的参数,如项数等。

2.要求:一元多项式简单计算器的基本功能10:图书管理系统(限最多3人完成)功能描述1、新进图书基本信息的输入。

2.图书基本信息的查询。

3.对撤消图书信息的删除。

4.为借书人办理注册。

5.办理借书手续(非注册会员不能借书)。

6.办理还书手续信息描述:有关该系统基本信息的描述,如:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等11:用户设置密码(限最多2人完成)做一个密码验证程序,密码验证只有三次机会。

要求有登录界面,用户输入密码时应以*代替输出。

用户登录成功后可以修改密码。

可以有多个用户登录。

初次登录的密码由管理员设置。

管理员可以添加或删除用户。

12: 成绩记录簿(限最多2人完成)编制一个C语言成绩记录簿,每个学生信息包括:学号、姓名、C语言成绩。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的成绩;(3)按学号或姓名查询成绩;(4)添加成绩记录;(5)修改指定姓名或学号的学生的成绩并可存盘;(6)显示输出60分以下、60~79、80~89、90分以上各分数段的学生信息。

13: 学生籍贯信息记录簿(限最多2人完成)编制一个学生籍贯信息记录簿,每个学生信息包括:学号、姓名、籍贯。

具体功能:(1)创建信息链表并以磁盘文件保存;(2)读取磁盘文件并显示输出所有学生的籍贯信息;(3)按学号或姓名查询其籍贯;(4)按籍贯查询并输出该籍贯的所有学生;(5)能添加、删除和修改学生的籍贯信息;14: 职工工作量统计系统(限最多1人完成)编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。

程序按完成数量对他们排序,并确定他们的名次。

按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)。

要求程序用有序链表存储数据信息。

15:成绩管理系统(限最多3人完成)现有学生成绩信息,内容如下姓名学号语文数学英语张明明 01 67 78 82李成友 02 78 91 88张辉灿 03 68 82 56王露 04 56 45 77陈东明 05 67 38 47…. .. .. .. …实现学生信息管理,软件的入口界面应包括如下几个方面:(一)功能要求:(1)信息维护:要求:学生信息数据要以文件的形式保存,能实现学生信息数据的维护。

此模块包括子模块有:增加学生信息、删除学生信息、修改学生信息(2)信息查询:要求:查询时可实现按姓名查询、按学号查询(3)成绩统计:要求:A输入任意的一个课程名(如数学)和一个分数段(如60--70),统计出在此分数段的学生情况。

(4)排序:能对用户指定的任意课程名,按成绩升序或降序排列学生数据并显示排序结果(使用表格的形式显示排序后的输出结果)(使用多种方法排序者,加分)(5)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)16:通讯录管理系统(限最多3人完成)用C设计出模拟手机通信录管理系统,实现对手机中的通信录进行管理。

(一)功能要求(1)查看功能:选择此功能时,列出下列三类选择。

A 办公类B 个人类C 商务类,当选中某类时,显示出此类所有数据中的姓名和电话号码)(2)增加功能:能录入新数据(一个结点包括:姓名、电话号码、分类(可选项有:A 办公类 B 个人类 C 商务类)、电子邮件)。

例如当录入了重复的姓名和电话号码时,则提示数据录入重复并取消录入;当通信录中超过15条信息时,存储空间已满,不能再录入新数据;录入的新数据能按递增的顺序自动进行条目编号。

(3)拔号功能:能显示出通信录中所有人的姓名,当选中某个姓名时,屏幕上模拟打字机的效果依次显示出此人的电话号码中的各个数字,并伴随相应的拔号声音。

(4)修改功能:选中某个人的姓名时,可对此人的相应数据进行修改(5)删除功能:选中某个人的姓名时,可对此人的相应数据进行删除,并自动调整后续条目的编号。

(二)其它要求:(1)至少采用文本菜单界面(如果能采用图形菜单界面更好)(2)建议使用数组或链表等数据结构(3)学生可自动增加新功能模块(视情况可另外加分)17:学籍管理系统(限最多3人完成)使用下面的数据,用C设计一个简单的学籍管理系统,实现出最基本的功能。

学生基本信息文件及其内容:文件不需要编程录入数据,可用文本编辑工具直接生成学号姓名性别宿舍号码电话号码……. .. …………..学生成绩基本信息文件及其内容:学号课程编号课程名称学分平时成绩实验成绩卷面成绩综合成绩实得学分01 A01 大学物理 3 66 78 8202 B03 高等数学 4 78 -1 9001 B03 高等数学 4 45 -1 8802 C01 VF 3 65 76 66……. ………. .. .. …功能要求及说明:(1) 数据录入功能: 对进行数据录入,只录入每个学生的学号、课程编号、课程名称、学分、平时成绩、实验成绩、卷面成绩共7个数据. 综合成绩、学分由程序根据条件自动运算。

相关文档
最新文档