河北建筑工程学院课程设计报告课程设计名称:C语言课程设计课程设计题目:车票管理系统院(系):理学院专业:信息与计算科学班级:信142学号:20143140219姓名:李嘉星指导教师:李鸿强完成日期:2015-6-17河北建筑工程学院课程设计报告-I-目录前言...................................................................................................................................2第1章概要设计...........................................................................................................31.1题目的内容与要求..................................................................................................31.2总体结构..................................................................................................................3第2章详细设计...........................................................................................................4主模块流程图................................................................................................................4车票管理系统软件详细设计........................................................................................4第3章调试分析...........................................................................................................6第4章使用说明与执行结果.......................................................................................7参考文献.........................................................................................................................15附录(程序清单)...................................................................................................16致谢.............................................................................................................................32河北建筑工程学院课程设计报告前言-2-前言随着计算机技术的发展,可视编程技术占有了越来越重要的作用。VisualC++6.0是一种功能强大行之有效的可视化编程工具。因此此软件是在VisualC++6.0环境下编写的。对于我们,随着学习的深入,已经大体掌握了VisualC++6.0环境下的程序开发。为了将我们的编程能力提升到一个更高的水平,深化面向对象的编程思维和解决问题的能力,值此课程设计周期间,进行基于VisualC++6.0环境的软件开发,先以字符统计软件作为开始,对VisualC++6.0环境和面向对象程序设计进行回忆和熟悉,使得在此基础上的下一个员工培训系统软件的开发进行的更加顺利。本文档详细叙述了基于VisualC++6.0环境下的车票管理系统的设计过程以及程序源代码。本文档从概要设计,详细设计,参考源程序代码以及显示程序运行的截屏等方面详尽的介绍了软件开发过程。此次车票管理系统的开发目的是使我们用面向对象的方式来思考和解决问题的能力,并且可以掌握字符数组的使用、字符指针的使用、数据库的设计和文件使用以及C语言语法。程序在设计的过程中遇到的问题已及时更正,但由于编者的能力和水平有限,车票管理系统和文档中不免会出现一些不期待的错误,望文档读者能够理解和体谅,并欢迎提醒和纠正,在此表示感谢以及敬意。河北建筑工程学院课程设计报告概要设计-3-第1章概要设计1.1题目的内容与要求一车站每天有n个发车班次,每个班次都有一班次号(1、2、3…n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如班次发车时间起点站终点站行车时间额定载量已定票人数18:00郫县广汉2453026:30郫县成都0.5404037:00郫县成都0.54020410:00郫县成都0.5402…(一)功能要求:用c/c++设计一系统,能提供下列服务:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总。(3)查询路线:可按班次号查询,可按终点站查询(4)售票和退票功能A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数(二)其它要求:(1)只能使用C/C++语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)学生可自动增加新功能模块(视情况可另外加分)(4)写出课程设计报告,具体要求见相关说明文档1.2总体结构图1-1功能模块图欢迎界面管理员菜单普通登录菜单增加信息查询信息订票保存信息查询信息删除信息退票信息河北建筑工程学院课程设计报告详细设计-4-第2章详细设计主模块流程图图2.1主模块流程图车票管理系统软件详细设计一个名Timetable的结构体进行定义,包括intno;//班次inthour;//发车时间(时)intminute;//发车时间(分)charStarting_station[10];//始发站charLast_station[10];//终点站floattime;//行车时间intmax_number;//最大载客数intsold_number;//已售票数等结构体成员。然后对调用函数进行定义。voidadd()增加记录,voidCipher()密码验证函数,voiddel()删除班次信息函数,voidfind(ints1,chars2[])查找函数,intfindnum(ints1)查找班次函数,voidInput()信息录入函数,voidhuanying欢迎界面管理员菜单普通登录菜单增加信息查询信息订票保存信息查询信息删除信息退票密码验证按车次按终到站按车次按终到站河北建筑工程学院课程设计报告详细设计-5-()欢迎界面,voidland()登录选择界面,voidmenu1()管理员菜单界面,voidmenu2()普通菜单界面,voidopen()调用数据函数,voidsave()保存函数,voidsearchesmenu()查询菜单,voidticketdelete()退票函数,voidticketorder()售票函数,inttimee(inti)判断时间是否超出函数,voidtimetable1显示车次函数该系统将这些信息均放在文件20143140219中。最后定义main()函数,利用函数调用,实现程序的各种功能。将其放在系统文件车20143140219中。河北建筑工程学院课程设计报告第3章调试分析-6-第3章调试分析1、程序陷入死循环解决办法:仔细分析程序间的关系,画程序流程图分析问题所在。利用break命令跳出循环2、程序出现乱码解决办法:利用VC6.0本身的调试功能查找错误的所在,修改源程序。3、所学知识不能很好的完成程序解决办法:上网查找相关资料,进入一些开源论坛寻求一定的帮助。河北建筑工程学院课程设计报告使用说明与执行结果-7-第4章使用说明与执行结果图4-1欢迎界面图4-2登录菜单河北建筑工程学院课程设计报告使用说明与执行结果-8-图4-3管理员登录的密码机制图4-4密码容错机制河北建筑工程学院课程设计报告使用说明与执行结果-9-图4-5管理员菜单图4-6图4-7班次录入界面河北建筑工程学院课程设计报告使用说明与执行结果-10-图4-8图4-9班次增加界面河北建筑工程学院课程设计报告使用说明与执行结果-11-图4-10时刻表浏览界面图4-11查询界面河北建筑工程学院课程设计报告使用说明与执行结果-12-图4-11注销班次界面图4-12普通登录菜单河北建筑工程学院课程设计报告使用说明与执行结果-13-图4-13图4-14售票窗口河北建筑工程学院课程设计报告使用说明与执行结果-14-图4-15图4-16退票界面河北建筑工程学院课程设计报告参考文献-15-参考文献1、《C程序设计(第四版)》作者:谭浩强书号:ISBN9787302224464出版社:清华大学出版社。2、《C语言学习路线图》作者:明日科技书号:ISBN9787302276593出版社:清华大学出版社。3、《C语言从入门到精通(第2版)》作者:明日科技书号:ISBN9787302287520出版社:清华大学出版社。4、《21天学通C语言(第7版)》作者:(美)琼斯等著,姜估译书号:ISBN9787115355379出版社:人民邮电出版社。5、《CPrimerPlus(第五版)中文版》作者:[美]StephenPrata书号:ISBN9787115130228出版社:人民邮电出版社。谢鸣:百度文库百度贴吧百度百科C语言之家Linux开源俱乐部网络资料来源:1、、、、河北建筑工程学院课程设计报告附录-16-附录(程序清单)代码//增加记录#includestdio.h#includenews.h#includestdlib.h#includeconio.hvoidadd(){voidopen();intget();voidsave();voidmenu1();inti,j=5;open();//调用按班次查询函数system(cls);//清屏printf(1.增加班次\n);printf(2.返回\n);printf(请选择(1-2)\n);scanf(%d,&i);if(i==1){system(cls);//清屏printf(1.请输入要增加的班次:\n);scanf(%d,&timetable[class_num].no);for(i=0;iclass_num;i++)if(timetable[class_num].no==timetable[i].no)//比较是否相等,判断车次是否重复{printf(输入错误!\n);getch();//收集回车break;}if(i==class_num){get(i,j);//修改及增加班次