C语言课程设计参考设计题目
1、航班管理系统 【功能需求】
程序启动后显示主菜单,包括下面的选项:
1. 显示航班列表 2. 增加航班 3. 删除航班 4. 航班订票 5. 航班退票 6. 航班乘客显示 7. 航班存盘 8. 从文件调入 9. 退出
按下相应的数字键后进入各自的子功能 每个子功能执行完毕后,返回并显示主菜单 【功能说明】
1. 显示航班列表:在屏幕显示已登记的航班总数,及各航班的信息,包括航班号,出发地和目的地,起飞时间,落地时间,所用机型,座位数,价格。(架设航班为每日一次)
2. 增加航班:输入航班信息,包括航班号,出发地和目的地,起飞时间,落地时间,所用机型,座位数,价格。
3. 删除航班:输入要删除的航班号,删除该航班信息。 4. 航班订票:输入航班名,日期,乘客姓名,身份证号。 5. 航班退票:输入航班名,日期,身份证号,删除乘客信息。
6. 航班乘客显示:输入航班号和日期,显示该航班的座位号及乘客姓名,以及空余座位数。
7. 航班存盘:输入文件名,将航班信息存入文件。
8. 从文件调入:输入文件名,读取文件将数据调入,重新生成航班信息 9. 退出:退出程序,返回操作系统
2、学生综合测评系统
每个学生的信息为:学号、姓名、性别、家庭住址、联系电话、语文、数学、外语三门单科成绩、考试平均成绩、考试名次、同学互评分、品德成绩、任课教师评分、综合测评总分、综合测评名次。考试平均成绩、同学互评分、品德成绩、任课教师评分分别占综合测评总分的60%,10%,10%,20%。
A、学生信息处理
(1) 输入学生信息、学号、姓名、性别、家庭住址、联系电话,按学号以小到大的顺序存入文件中。
提示:学生信息可先输入到数组中,排序后可写到文件中。 (2) 插入(修改)同学信息:
提示:先输入将插入的同学信息,然后再打开源文件并建立新文件,把源文件和输入的信息合并到新文件中(保持按学号有序)若存在该同学则将新记录内容替换源内容,
(3) 删除同学信息:
提示:输入将删除同学号,读出该同学信息,要求对此进行确认,以决定是否删除将删除后的信息写到文件中。
(4) 浏览学生信息:
提示:打开文件,显示该文件的学生信息。 B、学生数据处理:
(1) 按考试科目录入学生成绩并且按公式:考试成绩=(语文+数学+外语)/3 计算考试成绩,并计算考试名次,提示:先把学生信息读入数组,然后按提示输入每科成绩,计算考试成绩,求出名次,最后把学生记录写入一个文件中。
(2) 学生测评数据输入并计算综合测评总分及名次。
提示:综合测评总分=(考试成绩)*0.6+(同学互评分)*0.1+品德成绩*0.1+任课老师评分*0.2。
(3) 学生数据管理
提示:输入学号,读出并显示该同学信息,输入新数据,将改后信息写入文件 (4) 学生数据查询:
提示:输入学号或其他信息,即读出所有数据信息,并显示出来。 C、学生综合信息输出
提示:输出学生信息到屏幕。
3、图书管理系统
主要包括管理图书的库存信息、每一本书的借阅信息以及每一个人的借书信息。每一种图书的库存信息包括编号、书名、作者、出版社、出版日期、金额、类别、总入库数量、当前库存量、已借出本数等。每一本被借阅的书都包括如下信息:编号、书名、金额、借书证号、借书日期、到期日期、罚款金额等。每一个人的借书信息包括借书证号、姓名、班级、学号等。
系统功能包括以下方面: A、借阅资料管理
要求把书籍、期刊、报刊分类管理,这样的话操作会更加灵活和方便,可以随时对其相关资料进行添加、删除、修改、查询等操作。
B、借阅管理 (1) 借出操作 (2) 还书操作 (3) 续借处理 提示:以上处理需要互相配合以及赔、罚款金额的编辑等操作完成图书借还业务的各种登记。例如:读者还书时不仅更新图书的库存信息,还应该自动计算该书应罚款金额。并显示该读者所有至当日内到期未还书信息。
C、读者管理
读者等级:对借阅读者进行分类处理,例如可分为教师和学生两类。并定义每类读者的可借书数量和相关的借阅时间等信息。
读者管理:对读者信息可以录入,并且可对读者进行挂失或注销、查询等服务的作业。 D、统计分析
随时可以进行统计分析,以便及时了解当前的借阅情况和相关的资料状态,统计分析包括借阅排行榜、资料状态统计和借阅统计、显示所有至当日内到期未还书信息等功能分析。
E 系统参数设置:可以设置相关的罚款金额,最多借阅天数等系统服务器参数。
4、学校运动会管理系统
问题描述:
(1) 初始化输入:N-参赛院系总数,M-男子竞赛项目数,W-女子竞赛项目数; (2) 各项目名次取法有如下几种: 取前5名:第1名得分 7,第2名得分 5,第3名得分3,第4名得分2,第5名得分 1; (3) 由程序提醒用户填写比赛结果,输入各项目获奖运动员的信息。
(4) 所有信息记录完毕后,用户可以查询各个院系或个人的比赛成绩,生成团体总分报表,查看参赛院系信息、获奖运动员、比赛项目信息等。
5、个人通讯录管理系统
建立一通讯录,输入姓名、电话号码、住址等信息,然后对通信簿进行显示、查找、添加、修改及删除。
功能要求
(1) 通讯录的每一条信息包括姓名、单位、固定电话、移动手机、分类(如同事、朋友、同学、家人等)、EMAIL、QQ等。
(2) 输入功能:可以一次完成若干条信息的输入。
(3) 显示功能:完成全部通讯录信息的显示(一屏最多显示10条,超过十条应能够自动分屏显示)
(4) 查找功能:可以按姓名等多种方式查找通讯信息 (5) 增加、删除、修改功能:完成通讯录信息的多种更新
6、教师工资管理系统
每个教师的信息为:教师号、姓名、性别、单位名称、家庭住址、联系电话、基本工资、津贴、生活补贴、应发工资、电话费、水电费、房租、所得税、卫生费、公积金、合计扣款、实发工资。注:应发工资=基本工资+津贴+生活补贴;合计扣款=电话费+水电费+房租+所得税+卫生费+公积金;实发工资=应发工资 - 合计扣款。
A、教师信息处理 (1) 输入教师信息
(2) 插入(修改)教师信息: (3) 删除教师信息: (4) 浏览教师信息:
提示:具体功能及操作参考题1。 B、教师数据处理:
(1) 按教师号录入教师基本工资、津贴、生活补贴、电话费、水电费、房租、所得税、卫生费、公积金等基本数据。
(2) 教师实发工资、应发工资、合计扣款计算。 提示:计算规则如题目。 (3) 教师数据管理
提示:输入教师号,读出并显示该教师信息,输入新数据,将改后信息写入文件 (4) 教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 (5) 教师综合信息输出
提示:输出教师信息到屏幕。
7、教师工作量管理系统
计算每个老师在一个学期中所教课程的总工作量。(教师单个教学任务的信息为:教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时、单个教学任务总课时)
A、教师信息处理
(1) 输入教师授课教学信息,包括教师号、姓名、性别、职称、认教课程、班级、班级数目、理论课时、实验课时。
(2) 插入(修改)教师授课教学信息: (3) 删除教师授课教学信息: (4) 浏览教师授课教学信息: B、教师工作量数据处理:
(1) 计算单个教学任务总课时。计算原则如下表: 班级数目 2 3 >=4 单个教学任务总课时 1.5*(理论课时+实验课时) 2*(理论课时+实验课时) 2.5*(理论课时+实验课时) (2) 计算一个教师一个学期总的教学工作量。总的教学工作量=所有单个教学任务总课时之和。
(3)教师数据查询:
提示:输入教师号或其他信息,即读出所有数据信息,并显示出来。 C、教师综合信息输出
提示:输出教师信息到屏幕。 8、保龄球计分
【问题描述】打保龄球是用一个滚球去撞击10个站立的瓶,将瓶击倒。一局分10 轮,每轮可滚球1 次或多次,以击到的瓶数为依据计分,一局得分为10轮得分之和,而每轮的得分不仅与本轮的滚球情况有关,还可能与后一轮或两轮的滚球情况有关,即:某轮某次滚球击倒的瓶数不仅要计入本轮得分,还可能会计入前一轮或两轮得分。计分规则如下:
① 若某一轮的第一次滚球就击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加2次滚球),该轮得分为本次击倒瓶数10与以后2次滚球所击倒瓶数之和。
② 若某一轮的第一次滚球未击倒全部10个球,则对剩下未击倒的瓶再滚球一次,如果这2次滚球击倒全部10个瓶,则本轮不再滚球(若是第10轮还需加1次滚球),该轮得分为这2次击倒瓶数10与以后1次滚球所击倒瓶数之和。
③ 若某一轮2次滚球未击倒全部10个瓶,则本轮不在滚球,该轮得分为这2次滚球所击倒瓶数之和。 【实现提示】
① 模拟10个人各打一局保龄球比赛过程,统计每局各轮得分和累计总分。
② 逐人逐轮逐次输入一次滚球击倒的瓶数。 ③ 对10人的得分由低到高排序并显示。 ④ 最后,把排序的存入文件中。 9、编制一个学生的选课及学籍管理程序
【问题描述】现有若干个班级的学生,进行下学期课程的选课,假设已经通过文件储存了选课内容的数据库,数据库中包括7门课(课程内容由学生自己定) 第i门课程的接纳的学生数为10×i,i为课程的序号,如第一门课的接纳的学生数为10×1,第二门课为10×2,...... 依此类推,每门课的学分数分别为1、2、3、4、5、6、7,现要求每一个学生至少选3门课,最多不超过5门。 【实现提示】
(1)显示课程内容供学生选择,并能进行选课的操作 (2)随着学生选课工作的进行,动态更新数据库的内容 (3)进行学生的最少选课量和最多选课量的控制 (4)显示所有学生的选课的结果
(5)把学生所选的课按学分总积分由小到大排列,同样学分按姓名的英文字母排序 (6)录入学生的各科成绩
(7)学生的参数有:姓名、学号、性别、总学分、各科成绩,补考情况,请把一门和三门功课不及格的学生的姓名列出,并自动生成补考通知书,通知书中要求有学生的姓名、学号、不及格的科目及补考时间(由编程者自定)
10、趣味小游戏
要求:有一定游戏规则,图形显示,数据使用数组、结构体、链表等均可。键盘操作或鼠标均可。
(1)贪吃蛇游戏 (2)潜艇大战游戏 (3)扫雷游戏 (4)黑白棋游戏 (5)俄罗斯方块
基本要求
1、课程设计可采取每人一题,可任选一题进行设计, 至少包含五个功能模块。或者每组完成一个课题,每组成员(不得超过4人)分工合作完成一个课程设计,每个人的任务不同。分组情况请于6月27号上报给老师。
2、可以选择老师提供的参考选题,也可以自选,如果自选,需要将自选题目的详细内容以及实现要求提供给老师,老师批准后方可采用。
3、要求利用结构化程序设计方法以及C的编程思想来完成系统的设计。
4、要求有菜单、文件操作,数据使用数组、结构体、链表等均可,键盘操作或鼠标操作均可。
5、模块化程序设计:要求在设计的过程中,按功能定义函数或书写多个文件,进行模块化设计,各个功能模块用函数的形式来实现。
6、所选课题必须上机通过,并获得满意的结果。 7、程序书写风格:锯齿型书写格式。 8、完成课程设计报告书(格式见附录一)。
评价标准
课程设计成绩评定的依据有设计文档资料、具体实现设计方案的程序及课程设计考勤登记表。
优(90分以上):必须要有一定的创意,有自己独特的算法。按要求完成课题的全部功能,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确,其中有总体设计思想的论述,有正确的流程图,程序完全实现设计方案,设计方案先进,软件可靠性好;
良(80-89分):完成课题规定的功能,有完整的符合标准的文档,文档有条理、文笔通顺,格式正确;有完全实现设计方案的软件,设计方案较先进,无明显错误;
中(70-79分):完成课题规定的功能,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案正确,但有少数失误;
及格:完成课题规定的大部分功能,有完整的符合标准的文档,有基本实现设计方案的软件,设计方案基本正确,个别功能没有实现,但错误不多;
不及格:没有完成课题规定的功能,没有完整的符合标准的文档,软件没有基本实现设计方案,设计方案不正确。
附录一: (封面样式)
C语言程序设计
课程设计报告
xxx设计
专 业______________________班 级______________________ 学 号______________________姓 名______________________ 学 号______________________姓 名______________________ 学 号______________________姓 名______________________ 学 号______________________姓 名______________________
福建工程学院软件学院
2015年 月 日
(正文部分)
一、需求分析(标题均为小三号,宋体)
(正文均为小四号,宋体,行距1.5倍)
(对所选择题目进行分析,描述问题。简述课题要解决的问题是什么,有什么要求和限制条件。列出参与人员进行本设计时要达到的具体的目标。)
二、总体设计
(对设计目标进行总体分析,说明要采用的基本思路,说明遇到的问题和解决方法。说明完成本次课程设计的完整过程。要描述程序的设计思想,画出本次课程设计完整的程序框图或流程图。)
三、详细设计
(要求列出所有编写的函数清单,说明每个函数的功能,各形式参数的意义,画出各函数的调用关系图。即模块功能说明(如函数功能、入口及出口参数说明,函数调用关系描述等)。
四、程序源代码
(要求列出所有编写的源代码,在代码后面要有必要的进行注释)。
五、程序运行结果测试与分析
(要针对程序处理的不同情况列出有代表性的输入和输出,用足够多的实例说明程序完成了设计任务和目标。在测试过程中要有相关的运行截图)
六、结论与心得
(主要说明程序调试中发现的问题和解决办法,包括你在该设计中主要承担什么任务,在设计中学到了什么,哪里遇到了困难,解决的办法,可能但因时间关系没有来得及完成的想法,今后的目标等。)该部分要求参与人员分别写,格式如下 王二: 张三: 李四: 陈五:
七、参考文献