C语言课程设计题目
一、实训要求
1)C语言课程设计要求
1. 可自己选定一题目,限1人选的题目只能由1人单独完成,如限3人选的题目可由1-3人完成。 2. 模块化程序设计 3. 锯齿型书写格式 4. 必须上机调试通过 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
图1 图2
计算器的界面程序已经提供:(可访问http://its.nbtvu.net.cn/xhyu下载) #include
void main() {
float a,b; char c;
clrscr(); gotoxy(1,2);
printf(\谀哪哪哪哪哪哪哪哪哪哪哪哪縗n\ printf(\ 砛n\ printf(\媚哪哪哪哪哪哪哪哪哪哪哪哪碶n\ printf(\ 2 3 + - 砛n\ printf(\ 砛n\ printf(\ 5 6 * / 砛n\ printf(\ 砛n\ printf(\ 8 9 = \\x1b 砛n\ printf(\ 砛n\ printf(\ . End 砛n\ printf(\滥哪哪哪哪哪哪哪哪哪哪哪哪賊n\
gotoxy(2,3);
//following codes get user's input and complete the calculation //add your codes down here!
//add your codes up here! }
计算器1实现提示:
? 读懂并掌握显示计算器界面的程序
? 获取用户输入的算式只需利用”%f%c%f”调用scanf函数就可以。其中%c用来获取运算符
+,-,*,/,%f用来获取运算数。
? 利用if语句或switch语句区分 +,-,*,/ 的不同情况进行运算输出。
? 在屏幕的指定位置输出利用gotoxy() 和cprintf函数实现。包含在conio.h头文件中。 2. 在算术计算器1的基础上,实现算术计算器2。
功能说明:算术计算器1一次只能执行一次计算,算术计算器2要求实现可以多次响应用户的计算请求。当用户输入一个算式后,计算器显示计算结果,同时屏幕项部显示:continue? 如果用户此时按Y键,则继续输入下一个算式,否则,程序终止。 计算器2实现提示:
? 在“计算器1”的主要算法外层套一个循环语句
? 在循环体内,显示完计算结果后调用getch函数,如果它的返回值不是’y’或’Y’,则跳出循环,
程序终止。
3. 在算术计算器2的基础上,实现算术计算器3。
功能说明:算术计算器3不盲目等待用户输入,而是当用户没有输入时,计算器顶部显示一串闪烁的文本“This is a simple calculator!”, 并且这串文本一会儿变成红色,一会儿变成绿色。当用户按键时,这串文本不再闪烁。 如果用户按下End键,程序终止;否则程序接受用户输入的算式,并显示计算结果。 显示完计算结果后,程序继续闪烁言文本 “This is a simple calculator!”,等待用户输入下一个算式或按End键退出。 计算器3实现提示:
? 程序在调用scanf函数之前,必须先检测是否有键被按下。 ? 显示闪烁文本的算法如图3所示。
图3 计算器3流程图
? 检测是否有键按下,需要调用kbhit()库函数。 kbhit的原数原型: int kbhit(void); kbhit函数功能:检测是否有键按下,如果有,则返回非0值(即真),否则返回0(即假)。 调用kbhit()函数的源程序必须包含conio.h文件。
? 具有延时功能的函数是delay(unsigned milliseconds)。 包含在dos.h头文件中。
Delay()函数的功能是:将程序挂起milliseconds毫秒,即程序暂停或延时milliseconds毫秒。
? 当kbhit函数返回非0时,还要检测是否是End键。这需要调用bioskey库函数。但参数必须是
1,不能是0。因为bioskey(1)虽然返回用户所按键值,但没有接受键盘输入,不会影响其它函数(如scanf函数)接受有效输入。
? END的键值定义为: #define END 0X4F00 ? bioskey(1)判断是否是END的用法: if (bioskey(1)= =END) {
相关操作
}
7:学生成绩管理(限最多2人完成)
1.主要功能:
(1) 能按学期、按班级完成对学生成绩的录入、修改