《c语言车票管理系统》由会员分享,可在线阅读,更多相关《c语言车票管理系统(46页珍藏版)》请在金锄头文库上搜索。
1、课 程 设 计 报 告课程名称 C语言课程设计 课题名称 车票管理系统 专 业 自动化 班 级 1402 学 号 201401020208 姓 名 宋爱军 指导教师 陈世清 杨子华 黄哲 2014年 12 月 27 日湖南工程学院课 程 设 计 任 务 书课程名称 C语言课程设计 课 题 车票管理系统 专业班级 自动化 学生姓名 宋爱军 学 号 201401020208 指导老师 陈世清 杨子华黄哲 审 批 任务书下达日期 2014 年 12 月 20 日任务完成日期 2014年 12 月 27 日目录1、 设计目的 2、 总体设计3、 详细设计4、 调试与测试:5、 总结与体会附:源程序清单
2、和使用说明一、课程设计目的1熟练掌握C语言的应用及特点;2掌握函数声明、定义和使用的方法;3熟练掌握C语言中的对文件进行操作的基本方法;4熟练掌握结构体的使用方法;5掌握链表的基本操作。本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及各种能力。 设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。通过这次设计,要在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严
3、格的训练。二、总体设计1设计内容:一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如班次 发车时间 起点站 终点站 行车时间 额定载量 已定票 人数18:00 湘潭 长沙 2 45 30 1026:30 湘潭 常德 4 40 40 20功能要求:系统能提供下列服务:1)、录入班次信息(信息用文件保存),可不定时地增加班次数据。2)、浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。3)、查询路线:可按班次号查询 ,可按终点站查询。4)、
4、售票和退票功能。(1)当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数(2)退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数。2设计要求:1)、设计正确,方案合理。2)、界面友好,使用方便。3)、程序精炼,结构清晰。4)、设计报告5000字以上,。5)、上机演示。3概要设计车票管理系统的功能为 1. 录入班次 2. 显示所有班次 3. 查询班次 4. 增加班次 5. 售票 6. 退票 7. 修改班次 8. 删除班次 9. 退出 车票管理系统的功能模块有:(1)提供菜单界面,方便用户对程序个功能进行选择,选择要实现的功能按enter键进入
5、该功能。(2)接受用户输入的功能项,按enter键结束输入并将进入该系统,其需要的结果显示出来,方便用户查看。(3)完成每次功能,可保存用户的修改的信息,及时更新文件信息。下次查询时内容为最新信息。实时的信息更新对比等。一个名TICKET的结构体进行定义,包括num10 hour3; min3 from10; to10; hours max; now;等结构体成员。然后对调用函数进行定义。int system_time()系统时间, void NewMessage() 新纪录录入函数, void ShowTable1() void ShowTable2(int i) 线框调用1和2不用没次输,
6、 void Display()显示所有函数, void add()增加记录, void save() 保存函数, void save()保存函数, void load() 按班次查询函数, void search() 查询函数, void change()修改函数, void quit()退出函数, void Ticketorder() 售票函数, void Ticketdelete()删除函数, int menu_select()菜单函数, int whether(int)判断时间是否超出函数, void find(char s1,char s2) 查询函数/s1为班次/s2为终点站, vo
7、id deletemessage()删除函数, int findnum(char s1)班次查询函数, void get(int,int)修改及增加班次, char *menu菜单函数。该系统将这些信息均放在文件d:车票管理系统0中。最后定义main()函数,利用函数调用,实现程序的各种功能。将其放在系统文件d:车票管理系统0中。程序分为多个小模块,通过调用实现各种功能,增强了程序的可建设性。程序把每种功能分开实现,更简单,实用程序更易理解。三、详细设计1进度安排第17周 星期一 布置任务,查找资料。 星期二 确定总体方案,进行详细设计。 星期三 编写程序,上机调试。 星期四 编写程序,上机调
8、试。星期五 答辩,总结。星期六星期天 写课程设计报告。2.模块功能说明所有函数及功能add() /增加记录change() /修改函数deletemessage() /删除班次信息Display() /显示所有函数find(char s1,char s2) /查询函数findnum(char s1) /查找班次get(int i,int j) / 修改及增加班次load() /按班次查询函数main() /主函数menu_select() /菜单函数NewMessage() /录入函数quit() /退出函数save() /保存函数search() /查询调用ShowTable1() /线框调
9、用1,不用没次输ShowTable2(int i) /线框调用2。不用没次输。Ticketdelete() /删除函数Ticketorder() /售票函数whether(int i) /判断时间是否超出函数. 输入及输入的形式char num10; /车次编号char hour3; /时间,小时char min3; /分钟char from10; /起始站char to10; /终点站float hours; /车程实际时间int max; /最大车载容量int now; /已售票数. 输出的形式Printf3模块功能详细设计 车票管理系统 调用主菜单选项 输入选择后分别结束 完成功能后返回
10、主菜单1调用录入班次2调用显示所有班次3调用查询班次4调用增加班次6调用退票5调用售票7调用修改班次8调用删除班次9调用退出四调试与测试1.功能菜单如上图所示,该程序为用户提供菜单界面,用户可以对程序的各种功能进行选择,方便用户使用。选择1-9并按enter键进行操作。如选择出错,系统将提出警告,并提醒用户重新进行选择。2显示所有班次功能如上图所示,该功能实现显示所有班次。选择2按enter键进入该功能,程序直接显示出信息,按enter键,程序进入菜单项,程序将再次提醒用户进行新的选择。3查询功能 如上图所示,该功能将实现程序运行班次的查询。选择3并按enter键将实现该功能。分班次和终点站两
11、种方式查询。.按班次查询.按终点站查询4.增加班次功能5增加班次成功显示结果如上图所示,该功能将增加班次信息,帮助用户更新班次信息。选择4并按enter将实现该功能,再按提示输入就行。按任意键返回主菜单。6.订票功能如上图所示,该功能将帮助人们选择买票。选择5按enter键实现该功能,按任意键关闭程序。买票程序可提示买票成功否,且自动判断是否可卖。7.退票功能 如上图所示,该功能将帮助人们选择退票。选择6按enter键实现该功能,按任意键关闭程序。退票程序可提示退票成功否,且自动判断是否可退。8修改班次如上图所示,该功能将帮助人们修改班次信息。选择7按enter键实现该功能,按任意键关闭程序。
12、按提示操作修改班次。9.删除班次如上图所示,该功能可删除班次信息。选择8按enter键实现该功能,按任意键关闭程序。按提示操作删除班次。10.退出如上图所示,该功能可退出系统。选择9按enter键实现该功能五、总结与体会1心得:经过这次集中上机实习,我充分认识到了C语言的用途是非常广的,功能也非常强大,是学计算机不可缺少的语言。更重要的是,在这次编程中熟悉了编写一个比较复杂程序的流程,以及发现问题、解决问题的能力,为下一步计算机语言的学习做了准备。之前感觉遥不可及的功能,现在可以实现了,应当感谢老师和同学的热心帮助,这是我得以及时完成这个程序的重要因素. 我们改进的思想就是尽可能让它变得简单!还有很多的不足和瑕疵需要我们继续去奋斗,希望老师不吝赐教!2体会:这次实验让我们收获良多,这让我们得到了很多经验,又认识了很多的不足,在c语言这方面我们还需要很多的历练!我想通过这次的练习,我们都有所进展,我们现在需要的就是实践。完成了任务我们还是很有成就感的,也增添了我们对c语言的热情.