《C语言课程设计》任务书
一、课程设计的目的
本次课程设计的主要目的是综合运用所学的C语言知识解决一个比较实际的简单问题,侧重对数组、函数、指针、结构体等相关内容的综合应用,使学生能进一步熟悉掌握C语言的基本语法,进一步提升编程能力并逐步培养编程思维,进而不断提高学生解决问题的能力,并为以后的语言学习打下良好的基础。
二、课程设计的要求
(一)设计要求
课程设计要求在具体项目的基础上,使学生进一步理解和掌握课堂教学中所学知识,来解决一个实际的问题,提高学生进行算法设计与分析能力,提高学生程序设计、实现和调试能力。
在课程设计的过程中要求学生具备以下条件:
1.熟悉Microsoft Visual C++环境中的设计、调试步骤及技巧。
2.熟悉数据类型的定义和实现方法,领会数据类型的实质。
3.根据实际问题选择数据结构,熟悉算法的描述描述,并进行程序设计和实现。
4.熟悉程序代码编写的书写规范,能够在课程设计文档中对算法设计与分析、程序设计与测试进行详细描述。
(二)操作要求
1. 要求学生按照选题规则确定课程设计题目,不可随意更换,但可在完成规定的任务之后,
根据个人兴趣选做其它题目;
2.掌握结构化程序设计的方法,提高进行算法设计的能力;
2.进一步提升C语言的应用能力;
2.提高程序设计的问题分析、系统设计、程序编码、测试等基本方法和技能;
3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
4.严格按照报告格式撰写课程设计报告;
(三)成果要求
本课程主要训练学生综合运用结构化程序设计的知识,针对实际问题进行算法的设计和实现,培养学生的团队协作能力,提高学生程序设计、调试能力、提高学生文档写作能力。课程设计质量评定包括对平时表现的评定成绩与实验结果检查质量评定两部分。实验结果检查质量包括:系统设计的运行状况质量,以及课程设计说明书的编写质量。
三、课程设计的安排
第一阶段:在课程设计前向学生布置课程设计任务及相关要求,学生选择课题。
第二阶段:按照实验课表的安排,学生在规定的时间和地点进行实践操作,编写程序;指导老师进行辅导。
第三阶段:学生在课程设计完成后,按照报告格式撰写课程设计报告,并于课程结束后三天内交给指导老师。
四、课程设计报告要求
a) 实验题目
b) 实验目的
c) 实验要求
d) 实现思路(要求有文字描述,并画出流程图)(占报告40%)
e) 实现过程(要求有文字说明实现的过程,并对相应的代码添加注释)(占报告40%)
f) 实验调试和结果(分析程序调试过程中出现的错误,并给出解决方案)
g) 实验小结(说明程序设计过程中的难点及编程体会)
正文要求宋体小四,标题黑体四号,行间距1.25倍。
五、课程设计时间安排
六、课题及内容
1.学生成绩管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
学生成绩管理系统
*****************************************
1.输入学生记录 2.输出学生记录
3.修改学生记录 4.删除学生记录
5.插入学生记录 6.按平均成绩排序
*****************************************
用不同的函数实现不同功能,除以下模块,还可设计其他功能模块:
1)输入记录:输入学生信息,包括:学号、姓名、3门课程成绩,总分、平均分等信息,可
用结构体数组存放;
2)输出记录:输出学生信息;
3)修改记录:可根据学号或姓名查找学生记录,修改学生成绩;
4)删除记录:指定学号或姓名,删除该条记录;
5)插入记录:输入某个学生学号,在该学生的随后位置插入新的学生记录;
6)排序:按学生平均成绩由高到低排序。
2.工资管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入职工信息,包括:编号、姓名、基本工资、奖金、扣款、应发工资、实发工资等信息,可用结构体数组存放;
2)输出记录:输出信息;
3)修改记录:可根据编号或姓名查找学生记录,修改职工其它自动信息(如基本工资、奖金);
4)删除记录:指定编号或姓名,删除该条记录;
5)插入记录:输入某个职工编号,在该记录的随后位置插入新的职工记录;
6)排序:按实发工资由高到低排序。
3.电话簿管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入信息,包括:记录编号,联系人姓名、联系人电话、联系人地址等信息,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据联系人姓名查找;
4)删除记录:指定记录编号删除该条记录;
5)插入记录:在用户指定位置插入新的记录。
4.教师信息管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入教师信息,包括:编号、姓名、职务、职称、工龄等信息,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据职称查找记录;
4)删除记录:指定姓名删除该条记录;
5)插入记录:在用户指定位置插入新的记录;
6)排序:按工龄由高到低排序。
5.图书管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入图书信息,包括:编号、书名、类别、单价、数量、金额等信息,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据书名查找记录;
4)删除记录:指定书名删除该条记录;
5)插入记录:在用户指定位置插入新的记录;
6)排序:按金额由低到高排序。
6. 毕业课题管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入课题信息,包括:编号、题目、完成时间、学生姓名、学号等信息,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据学生学号查找记录;
4)删除记录:指定编号删除该条记录;
5)插入记录:在用户指定位置插入新的记录。
7. 高校信息查询系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入高校信息,以高校为基本单位进行信息存放,包括:编号、学校名称、地址、省份、建校时间等,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据学校名称查找记录;
4)删除记录:指定编号删除该条记录;
5)插入记录:在用户指定位置插入新的记录。
8. 研究生科研奖励系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入研究生科研奖励信息,包括:学号、姓名、年龄、奖励信息(可能包括多种奖励)等,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据学号或姓名查找记录;
4)删除记录:指定学号删除该条记录;
5)插入记录:在用户指定位置插入新的记录。
9. 信用卡客户管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入信用卡信息,包括:卡号、用户姓名、身份证号码、开户银行、信用额度、信用积分(可能为负)等,可用结构体数组存放;
2)输出记录:输出信息;
3)查询记录:可根据卡号或姓名查找记录;
4)删除记录:指定卡号删除该条记录;
5)插入记录:在用户指定位置插入新的记录;
6)排序:按信用积分由高到低排序。
10. 学校开课查询系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入课程信息,包括:课程编号、课程名称、任课教师、学分、课程性质、开课院系等。
2)输出记录:输出信息;
3)查询记录:可根据课程编号或课程名查找记录;
4)删除记录:指定编号删除该条记录;
5)插入记录:在用户指定位置插入新的记录;
6)排序:按学分由高到低排序。
11.银行账户管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1) 输入记录:输入银行账户信息,包括:账号、姓名、余额、身份证号码、单位、电话号码
地址等。
2)输出记录:输出信息;
3)查询记录:可根据账号查找记录;
4)删除记录:指定账号删除该条记录;
5)插入记录:在指定位置插入新的记录。
12.交通处罚单管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入交通处罚单信息,包括:编号、违章车牌号码、违章种类、罚款、交款记录等;
2)输出记录:输出信息;
3)查询记录:可根据车牌号查找记录;
4)删除记录:指定编号删除该条记录;
5)插入记录:在指定位置插入新的记录。
13.研究生初试录取
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入研究生的信息,包括学生姓名,准考证号,4门课程(政治、数学、外语、专业基础课)成绩;录取分数要求总分达到310分;每门课的最低分要求达到40分;
2)输出记录:输出信息;
3)查询记录:可根据准考证号查找记录;
4)统计:统计初试合格的人数;
5)排序:按总分由高到低的顺序输出合格考生的信息。
14. 模拟计算器程序
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
(1)程序支持算术运算+、-、*、/、以及C(清除)、A(全清除)操作;
(2)用户从键盘输入要计算的表达式,用户键入’=’符号后,在窗口显示出结果(不考虑运
算符的优先级);
(3)程序输入不少于5种不同的表达式进行测试。
15.字符串处理程序
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
(1)不使用系统库函数,编写多个函数实现;
(2)定义字符数组存放字符串,从键盘输入;
(3)调用不同的函数,实现字符串的连接、拷贝、比较、求字符串长度、对字符串内字符进行排序、查找字符串中某个字符是否存在及存在次数;
(4)分别输出以上字符串处理的结果。
16. 会员卡客户管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入会员卡信息,包括:卡号、用户姓名、身份证号码、联系电话、积分等;
2)输出记录:输出信息;
3)查询记录:可根据卡号查找记录;
4)删除记录:指定卡号删除该条记录;
5)插入记录:在指定位置插入新的记录。
6)排序:按积分从高到低排序。
17. 班级通讯录程序设计
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入通讯信息,包括编号、姓名、籍贯、电话号码、电子邮箱等信息;
2)输出记录:输出信息;
3)查询记录:可根据姓名查找记录;
4)删除记录:指定编号删除该条记录;
5)插入记录:在指定位置插入新的记录。
18.职工基本信息管理系统设计
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入职工信息,包括:职工号、姓名、性别、年龄、学历、工资、电话等;
2)输出记录:输出信息;
3)查询记录:可根据职工号或姓名查找记录;
4)删除记录:指定职工号删除该条记录;
5)插入记录:在指定位置插入新的记录。
19. 宾馆客房管理
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入宾馆的客房信息,包括:客房号、客房类型、客房价格、空闲情况、客人姓名、客人身份证号、入住时间、退房时间,预付费用等信息。
2)输出记录:输出信息;
3)查询记录:可根据客房号查找记录;
4)删除记录:指定客房号删除该条记录;
5)插入记录:在指定位置插入新的记录。
20. 电脑报价系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入电脑各部件信息,包括:编号、部件名、价格、型号,厂商、报价时间等;
2)输出记录:输出信息;
3)查询记录:可根据编号查找记录;
4)删除记录:指定编号删除该条记录;
5)插入记录:在指定位置插入新的记录。
21. 机房设备管理系统设计
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入机房设备信息,包括:设备编号,设备名称(如:微机、打印机、扫描仪等等),设备价格,设备购入日期,是否报废,报废日期等。
2)输出记录:输出信息;
3)查询记录:可根据设备编号查找记录;
4)删除记录:指定设备编号删除该条记录;
5)插入记录:在指定位置插入新的记录。
22.仪器仪表管理
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入仪器仪表信息,包括:编号、名称、生产厂家、生成日期、实验室号码等。
2)输出记录:输出信息;
3)查询记录:可根据设备编号查找记录;
4)删除记录:指定设备编号删除该条记录;
5)插入记录:在指定位置插入新的记录。
23.航班管理系统
主界面以菜单的形式展现,用户可以按不同的键执行不同的操作,即调用不同的函数;
......
用不同的函数实现,除以下模块,还可设计其他功能模块:
1)输入记录:输入录入航班信息,包括:航班号,起降时间,起飞抵达城市,航班票价,票价折扣,航班是否满仓等;
2)输出记录:输出信息;
3)查询记录:可根据航班号查找记录;
4)删除记录:指定航班号删除该条记录;
5)插入记录:在指定位置插入新的记录。
六、课程设计成绩考核办法
考核方式:程序检查成绩(40%)+报告检查成绩(40%)+平时考核(20%)
课程设计成绩以优秀、良好、中等、及格、不及格五等级评分,评分标准为:
优(90-100分):模块划分及数据结构设计合理,有较详细的算法设计分析过程,程序设计功能完善并有独到之处,程序运行通畅、界面规范、合理、使用方便。
良(80-89分):模块划分及数据结构设计合理,有较详细的算法设计分析过程,程序设计功能完善、运行通畅、使用方便、界面良好。
中(70-79分):功能模块划分及数据结构设计基本合理,程序设计功能基本完善,程序运行基本通畅。
及格(60-69分):功能模块划分及数据结构设计基本合理,但存在一定问题,系统功能基本完善,但程序运行出现的问题较多,设计中独立思考差。
不及格(59分及以下):在功能模块划分及数据结构设计中存在较为严重的问题,系统功能不完善,程序运行不通,达不到课程设计基本要求,若在设计中完全抄袭窃取他人成果,按不及格处理。
七、参考资料
【1】潭浩强,《C语言程序设计》,清华大学出版社,20##年
【2】姜灵芝,《C语言课程设计案例精编》,清华大学出版社,20##年