C语言课程设计课题.docx
《C语言课程设计课题.docx》由会员分享,可在线阅读,更多相关《C语言课程设计课题.docx(16页珍藏版)》请在冰豆网上搜索。
C语言课程设计课题
课程设计报告
课程名称《C语言程序设计》
课题名称
专业
班级
学号
姓名
指导教师
年月日
湖南工程学院
课程设计任务书
课程名称《C语言程序设计》
课题
专业班级
学生姓名
学号
指导老师
审批
任务书下达日期年月日
任务完成日期年月日
一、设计内容与设计要求
1.课程设计目的:
全面熟悉、掌握C语言基本知识,增强对不同的问题运用和灵活选择合适的数据结构以及算法描述的本领,熟悉编制和调试程序的技巧,掌握分析结果的若干有效方法,进一步提高上机动手能力,培养使用计算机解决实际问题的能力,养成提供文档资料的习惯和规范编程的思想,为后继课程(数据结构、数据库和汇编语言等课程)的实验以及课程设计打下较扎实的基础。
2.课题题目
⑴班级成绩管理系统
⑵班级档案管理系统
⑶飞机订票系统
⑷猜数字游戏
⑸电子英汉词典设计
⑹心算抢答系统
⑺运动会分数统计系统
⑻小学生心算CAI系统
3.设计要求:
掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的中型问题,为将来开发软件积累一些典型的案例处理经验。
具体要求如下:
⑴设计课题题目:
每位同学根据自己学号除以8所得的余数加一选择相应题号的课题。
原则上不予换提,私自换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:
①完成系统需求分析:
包括系统设计目的与意义;系统功能需求;输入输出的要求。
②完成系统概要设计:
程序由哪些模块组成以及模块之间的层次结构、各模块的调用关系;每个模块的功能;课题涉及的数据结构和数据库结构;即要存储什么数据,这些数据是什么样的结构,它们之间有什么关系等。
③完成系统详细设计:
包括采用C语言定义相关的数据类型;写出各模块的类C码算法;画出函数的调用关系图。
④调试分析、设计体会、测试数据:
准备典型的测试数据和测试方案,包括正确的输入及输出结果和含有错误的输入及输出结果;程序调试中遇到的问题以及解决问题的方法;课程设计过程经验教训、心得体会。
⑤关键源程序(带注释)
⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计。
二、进度安排
第20周星期日8:
30——11:
30
星期一8:
30——11:
30
星期二14:
30——17:
30
星期三8:
30——11:
30
设计课题一:
班级成绩管理系统
一、问题描述:
对一个有N个学生的班级,每个学生有M门课程。
该系统实现对班级成绩的录入、显示、修改、排序、保存等操作的管理。
二、功能要求:
1、本系统采用一个结构体数组,每个数据的结构应当包括:
学号、姓名、M门课程名称。
2、本系统显示这样的菜单:
请选择系统功能项:
a、成绩录入
b、成绩显示
c、成绩保存
d、成绩排序
e、成绩修改(要求先输入密码)
f、成绩统计
(1)显示每门课程成绩最高的学生的基本信息
(2)显示每门课程的平均成绩
(3)显示超过某门课程平均成绩的学生人数
g、退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生成绩保存到文件中。
三、算法提示:
1、数据结构:
结构体类型数组。
2、数据库结构:
下表构成该系统的基本数据库。
姓名
学号
课程名称1
课程名称2
●●●●●●
char
Char
float
float
四、测试数据:
学生人数N=10
课程门数M=4
课程名:
数学、语文、英语、政治
五、其它
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
设计课题二:
班级档案管理系统
一、问题描述:
对一个有N个学生的班级,通过该系统实现对该班级学生的基本信息进行录入、显示、修改、删除、保存等操作的管理。
二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
学号、姓名、性别、年龄、备注。
2、本系统显示这样的菜单:
请选择系统功能项:
a.学生基本信息录入
b.学生基本信息显示
c.学生基本信息保存
d.学生基本信息删除
e.学生基本信息修改(要求先输入密码)
f.学生基本信息查询
(1)按学号查询
(2)按姓名查询
(3)按性别查询
(4)按年龄查询
g.退出系统
3、执行一个具体的功能之后,程序将重新显示菜单。
4、将学生基本信息保存到文件中。
5、进入系统之前要先输入密码。
三、算法提示:
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
姓名
学号
性别
年龄
备注
char
Char
char
int
char
四、测试数据:
学生人数N=10
五、其它:
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
设计课题三:
飞机订票系统
一、问题描述:
假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。
通过该系统来实现机票的订购问题。
二、功能要求:
1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:
起飞地、目的地、航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。
2、本系统显示这样的菜单:
(1)输入航班信息
(2)输出航班信息
(3)查找航班信息
a.显示空座的数量
b.显示空座的信息
c.显示已订座的信息
d.起飞时间
(4)订票预约
(5)删除订票预约
(6)退出系统
3、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。
4、查找航班信息既可按线路查,也可按目的地查。
4、在两次运行之间,数据被保存于一个文件里,当本程序重新开
始的时候,它首先从该文件读入数据
三、算法提示:
1、数据结构:
结构体类型数组
2、数据库结构:
下表构成该系统的基本数据库。
航班号
起飞时间
目的地
座次号
座次订出与否的标记
订票者姓名
订票者身份证号码
int
char
char
int
Char
char
char
四、测试数据:
每架飞机的座位N=12,M=5
五、其它:
对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。
设计课题四:
猜数字游戏
一、问题描述:
该游戏可以由程序随机产生或由用户输入四个0到9之间的数字,且不重复。
玩游戏者通过游戏提示输入八次来匹配上面所输入的数字。
A表示位置正确且数字正确,B表示数字正确而位置不正确。
二、功能要求:
1、本游戏显示这样的菜单:
(1)随机产生数据
(2)用户输入数据
(3)退出游戏
2、游戏成功与否都能返回主菜单
三、算法提示:
1、数据结构:
数组
2、用简单的程序设计方法
四、测试数据:
测试数据:
3792
第一次输入:
1234
0A2B
第二次输入:
5678
0A1B
第三次输入:
0867
0A1B
第四次输入:
9786
1A1B
第五次输入:
1794
2A0B
第六次输入:
2793
2A2B
第七次输入:
3792
4A0B
游戏成功
五、其它:
对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能,如:
破记录功能,若你所匹配的次数小于纪录保持者,则为破纪录。
设计课题五:
电子英汉词典设计
一、问题描述:
英汉词典作为一个常用的学习工具,是我们经常要使用的。
该系统能完成一个简单的电子英汉词典的功能,如:
单词的查找、增词、删除、修改和维护等工作。
二、功能描述:
1、在计算机中建立有限规模的电子英汉词典(文件),利用程序实现电子英汉词典的查找、增词、删除、修改和维护工作。
2、词典的内容为:
每行对应一个词条,每个词条由两个字符串组成,字符串用若干空格符分开;前一个是单词字符串(英文),后一个是释义字符串(中文),使用分号作为多个释义的分隔符(无空格)。
3、对单词和释义字符串长度的限定分别为不少于20个与40个字符,词条数限定为不多于200条。
4、采用菜单工作方式。
在一个操作执行之后,程序询问是否继续执行该操作。
如输入Y或y,则重复同一操作,不退回到菜单;如输入其它信息,则回到菜单等待另一次选择。
仅当选择退出操作时,程序应询问是否将修改后的词典存盘,并根据用户选择存盘退出或不存盘退出。
5、要求整个设计以人为本,用户界面友好。
三、算法提示:
1、数据结构:
结构体数组
2、简单的程序设计
3、友好的窗口菜单的设计
四、测试数据:
要求被选用的词条有200个左右,以中学的单词为主。
五、其它:
对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。
设计课题六:
心算抢答系统
一、问题描述:
适用于小学生数学心算抢答赛。
比赛题型分为两种:
“四则简单运算”和“四则混合运算”,计算机随机出题,选手抢答。
要求进入每种题型比赛时,计算机均有提示,每队的记分窗口随得分情况而更新。
二、功能描述:
1、显示如下画面:
欢迎参加小学生心算抢答赛
按任意键开始比赛
2、举办单位确定参赛的队数,每队分配一个记分窗口,底分均为100分。
3、比赛题型分为两种:
“四则简单运算”(N道题)和“四则混合运算”(M道题),N、M由举办单位确定,计算机随机出题,先出“四则简单运算”题,每出一道,选手抢答,做对一题加5分,做错一题减5分。
后出“四则混合运算”,做对一题加10分,做错一题减10分。
要求进入每种题型比赛时,计算机均有提示,每队的记分窗口随得分情况而更新。
4、根据最后总分,由高到低宣布比赛名次,按任意键退出比赛系统。
5、要求整个设计以人为本,用户界面友好。
三、算法提示:
1、用简单的程序设计方法
2、一定的窗口设计技巧
3、简单的数据类型
四、测试数据:
利用随机函数产生
五、其它:
对该系统有兴趣的同学可以在实现上述基本功能后,完善系统的其它功能。
如底分的设置、每种类型题目的加、减分的多少均可由举办方设定。
设计课题七:
运动会分数统计系统
一、问题描述:
参加运动会的n个学校编号为l~n。
比赛分成m个男子项目和w个女子项目,项目编号分别为l~m和m+1~m+w。
由于各项目参加人数差别较大,有些项目取前五名,得分顺序为7,5,3,2,1;还有些项目只取前三名,得分顺序为5,3,2。
设计一个统计程序按名次产生各种成绩单、得分报表。
二、基本要求:
1.产生各学校的成绩单,内容包括各校所取得的每项成绩的项目号、名次、成绩、姓名和得分;产生团体总分报表,内容包括校号、男子团体总分、女子团体总分和团体总分;均按名次排序。
2.比赛项目既要有径赛,又要有田赛。
三、测试数据:
对于n=4,m=3,w=2,编号为奇数的项目取前五名,编号为偶数的项目取前三名,设计一组实例数据。
四、实现提示:
1.数据结构:
线性表
2.
数据库结构:
下面四张表构成该系统的基本数据库,全部输出报表由系统根据基本表自动生成。
3.可以假设n≤20,m≤30,w≤20,姓名长度不超过20个字符。
每个项目结束时,将其编号、类型符(区分取前五名还是前三名)输入,并输入运动员编号、学校编号和成绩等。
1.1.1.五、选作内容:
允许用户指定某项目采取其他名次取法。
设计课题八:
小学生心算CAI系统
一、问题描述:
本系统可以用来进行单独的的加、减、乘、除心算练习,也可综合心算的速度与正确率进行测试。
当用户在进行简单的四则运算时运算速度和正确率都较高时,可以进入四则混合运算,借此来进一步提高自己的心算能力。
二、功能描述:
1、用户可以通过两种方法来选择功能,既可以按相应的数字键进入相应的心算练习,也可以按光标键来选择功能项。
2、计算机自动出题,用户进入每项练习时,屏幕上会显示用户所做的相应的题数,如果不想继续可以随时退出,只需按ESC键。
3、设计的系统完全适合用户,比如除法时考虑到小学生的水平问题,只允许出现整除情况。
4、用户输入的答案不对时,计算机会发出声音报警,用户输入的结果如果连续两次不对,计算机会自动给出正确答案,供用户参考。
5、界面设计友好。
三、算法提示:
1、用简单的程序设计方法
2、一定的窗口设计技巧
3、简单的数据类型
四、测试数据:
计算机随机产生
五、其它:
对该系统有兴趣的同学可在实现系统基本功能后完善系统其它功能。
1系统需求分析
(给出你所设计题目拟满足的用户需求,给出系统设计目标,系统拟实现的功能。
)
2.总体设计
(包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。
)
3.详细设计
(类层次图;各功能模块实现等)
4.系统调试
(调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整)
5.结果分析
(总结自己独到的设计特点和不足之处。
)
6.总结
(总结进行本次课程设计的感想和体会。
)
(表格或图必须加上表号或图号以及相应的说明,下面是示例)
表6.1此表的说明
图6.1此图的说明
计算机与通信学院课程设计评分表
课程名称:
《C语言程序设计》
项目
评价
设计方案的合理性与创造性
设计与调试结果
设计说明书的质量
答辩陈述与回答问题情况
课程设计周表现情况
综合成绩
教师签名:
日期: