




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
车票管理系统设计报告目录一需求分析: 1.1设计题目内容以及要求1.2设计要求1.3设计目的二概要设计2.1系统总体设计框架2.2系统功能模块图2.3数据库设计三车票管理模块 流程图分析3.1功能说明3.2售票流程图3.2退票流程图四. 任务分工4.1 任务成员 4.2 任务分工五. 主要程序1.声明部分2.主函数3.程序初始界面 功能选择4.信息的录入5.信息的浏览6.信息的查询7.订退票8.程序的退出六.心得体会一. 理论与实践的结合二. 合作的重要性三. 资料和网络资源的利用七参考文献:车票管理系统一需求分析: 1.1设计题目内容以及要求:一车站每天有n个发车班次,每个班次都有一班次号(1、2、3n),固定的发车时间,固定的路线(起始站、终点站),大致的行车时间,固定的额定载客量。如班次 发车时间 起点站 终点站 行车时间 额定载量 已定票人数1 8:00 西安 广汉 2 45 302 6:30 西安 成都 0.5 40 403 7:00 西安 成都 0.5 40 204 10:00 西安 成都 0.5 40 21.2设计要求:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据(2)浏览班次信息,可显示出所有班次当前状总(如果当前系统时间超过了某班次的发车时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询 ,可按终点站查询(4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数1.3设计目的:通过本次课程设计,提高学生综合应用所学知识和查阅相关资料的能力。二概要设计:2.1系统总体设计框架:2.1.1“车票服务”模块:售票服务:当查询出已定票人数小于额定载量且当前系统时 间小于发车时间时才能售票,自动更新已售票人数退票服务:输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数2.1.2“信息查询”模块:按班次查询:根据相应的班次对所有班次进行查询按终点站查询:根据所需的终点站对所有班次进行所需查询2.1.3“车次管理”模块:添加车次信息:可不定时地增加班次数据删除车次信息:可以删除任一车次信息修改车次信息:可以修改车次信息表中的任何信息2.1.4“系统管理”模块:用户系统登录(根据需求可以增设):输入正确的用户名和密码登录后,才可以登录系统判断发车情况:系统自动将系统时间和发车时间相比较2.2系统功能模块图: 火车站售票系统 车票服务信息查询车次管理系统管理 判断发车情况用户系统登录修改车次信息删除车次信息添加车次信息按照终点站查询按照班次查询退票服务售票服务 模块框架图2.3数据库设计: 系统设计的工作完成后,接下来的工作就是数据库分析和设计了,数据库的建立是整个数据库应用系统开发系统中,数据库设计的好坏将直接影响到整个系统的效率和实现。在设计数据库之前要了解数据库的需求,从而确定数据库的结构。2.3.1数据库需求设计: 系统的需求在于要对各种班次信息进行添加,删除,修改的各种管理,同时也可以查询班次信息,并可以买票、退票;因此系统需要以下数据库的信息:l 班次信息:包括班次,发车时间,起点站,终点站,行车时间,载量, 已售票人数2.3.2数据库逻辑设计:建立以下数据表: 因为本次设计是一个简单的系统,所以此次设计就建立了一个表。车次时间数据表的主要功能是完成售票系统的所有功能,通过对这张表的操作可以实现概要设计中的目标:字段名称字段类型字段大小约束条件说明banci数字长整型主键发车班次time文本10无发车时间start文本8无起点站destination文本8无终点站sumtime数字单精度型无行车时间total数字整型无载量number数字整型无已售票人数三车票管理模块 流程图分析3.1功能说明: 本模块包括售票和退票两个功能,在售票和退票的时候都有条件的限制。A:当查询出已定票人数小于额定载量且当前系统时间小于发车时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本班车未发出时才能退票,自动更新已售票人数3.2售票流程图买票要求:输入车班次号或直接选择班次发车时间与系统时间比较提示车已经发出是否有余票提示票已售完剩余票是否足够提示余量不足售票成功!3.2退票流程图:退票要求输入车班次号或直接选择班次退票成功!发车时间与系统时间比较提示车已经发出四. 任务分工4.1 任务成员4.2 任务分工XXX:程序模块分析,结构分析。车次管理,车票服务的源程序编写工作。XX: 系统管理,信息查询模块源程序的编写,程序最终的调试工作。五. 主要程序1.声明部分 #include #include #include #include #incude #includeconst int MAX=20;const int N=50;const int MAXFILENAME=100;enum FALSE,TRUE;2.主函数int main(void)domainmenu();while(FLAG=FALSE);return 0;3.程序初始界面 功能选择scanf(%c,&functionNumber);switch(functionNumber)case 1:InsertMessage();printf(n按任意键回主菜单.n);getchar();getchar();break;case 2:RecordNumber=ShowMessage();printf(n按任意键回主菜单.n);getchar();getchar();break;case 3:SearchMenu();printf(n按任意键回主菜单.n);getchar();getchar();break;case 4:TicketManagement();getchar();getchar();break;case 5:FLAG=TRUE;exit();break;default:printf(输入错误,请确保你的输入为1-5.n);printf(按任意键回主菜单.n);getchar();getchar();/switch endsFLAG=FALSE;4.信息的录入void InsertMessage(void)void InsertMessage(void)FILE *fp;char filenameMAXFILENAME;int i;printf(请输入文件名或者文件路径名:);scanf(%s,filename);if(fp=fopen(filename,r)=NULL)printf(文件%s不可读,请确认文件%s存在或者文件路径正确.nn,filename,filename);mainmenu();for(i=RecordNumber;!feof(fp)&!ferror(fp);i+)fscanf(fp,%d%d%d,&cari.SerialNumber,&cari.SetOut.hour,&cari.SetOut.minutes);fscanf(fp,%s%s%f%d%d,&cari.DeparturePoint,&cari.TerminalPoint,&cari.LastTime,&cari.FixNumber,&cari.FixedNumber);SaveRecord(*(car+i);RecordNumber=i;/*输出更新后的订票记录*/printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);for(i=0;iRecordNumber;i+)printf(%dt%d:%dtt,cari.SerialNumber,cari.SetOut.hour,cari.SetOut.minutes);printf(%st%stt%.1ft %dtt%dn,cari.DeparturePoint,cari.TerminalPoint,cari.LastTime,cari.FixNumber,cari.FixedNumber);fclose(fp);5.信息的浏览int ShowMessage(void)int ShowMessage(void)int i;FILE *fp;if(fp=fopen(add.txt,r)=NULL)printf(读取数据失败,请检查文件add.txt是否存在.n);exit(-1);for(i=RecordNumber;!feof(fp)&!ferror(fp);i+)fscanf(fp,%d%d%d,&cari.SerialNumber,&cari.SetOut.hour,&cari.SetOut.minutes);fscanf(fp,%s%s%f%d%d,&cari.DeparturePoint,&cari.TerminalPoint,&cari.LastTime,&cari.FixNumber,&cari.FixedNumber);int count=i;printf(班次t发车时间t起点t终点t行车时间(小时)t额定载量t已定票人数n);for(i=0;itm_hour=cari.SetOut.hour&now-tm_mincari.SetOut.minutes)|(now-tm_hourcari.SetOut.hour)printf(此车已发出);printf(n);return count;6.信息的查询void SearchMenu(void)按班次查询函数void SearchByNumber(void) 按终点查询函数void SearchByAddress(void)void SearchMenu(void) system(color 1f); system(mode con: cols=140 lines=130); char functionNumber; printf( 查询子菜单n); printf(=n); printf( 1.按班次号查询tn); printf( 2.按终点站查询tn); printf( 3.返回主菜单tn); printf(=n); printf(请选择你所需要的功能:); scanf(%*c%c,&functionNumber); switch(functionNumber) case 1:SearchByNumber();break; case 2:SearchByAddress();break; case 3: getchar(); mainmenu(); break; default: printf(输入错误,请确保你的输入为1-3.n); printf(按任意键回查询子菜单.n); getchar(); getchar(); SearchMenu(); 7.订退票订票函数void TicketOrder(void)退票函数void TicketDelete(void)void TicketManagement(void) char functionNumber; system(color 1f); system(mode con: cols=140 lines=130); printf( 订票与退票菜单n); printf(=n); printf( 1.订票tn); printf( 2.退票tn); printf( 3.返回主菜单.n); printf(=n); printf(选择你需要的功能:); scanf(%*c%c,&functionNumber); switch(functionNumber) case 1: TicketOrder(); /getchar(); /getchar(); break; case 2:TicketDelete();break; case 3: getchar(); mainmenu(); break; default: printf(输入错误,请确保你的输入为1-3.n); printf(按任意键回主菜单.n); getchar(); getchar(); mainmenu(); 8.程序的退出void exit(void)printf(nn*谢谢使用本系统,欢迎下次继续使用*n);exit(0);六.心得体会通过这次软件设计,我学到了很多知识,也提高了自己的编程能力,而且还有很多体会,受益匪浅。我们的题目是车票管理系统,这个课题有一定的难度,但通过找资料,琢磨,尝试而最终完成了。在这其中,我有以下体会:一. 理论与实践的结合 作为大学生,我们即将迈入社会。而我们最重要的任务就是充分利用自己所学知识,把其应用到实际,创造社会财富。但众所周知,理论和实际是有差距的,现实问题一定会比理论知识复杂。通过这次程序设计,我切身体会到把理论应用到实际的意义,课本上看似简单的知识,但在具体应用的时候就没想象的那么容易了。要考虑的方面和条件更多,需要有全局观念。所以今后要提高自己这方面的能力,不要总是纸上谈兵,要多实践,多发现多体会,这样才能使自己的综合能力更强,以适应社
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆驾驶员管理办法
- 长安区购药管理办法
- 2025年浙江省杭州市示范名校高三物理第一学期期末检测试题
- 紧急医学救援讲课文档
- 红领巾奖项管理办法
- 企业用电安全培训课件
- 非遗村镇示范点建设规范
- 绍兴市培训费管理办法
- 税务济困资金管理办法
- 网络视听文化管理办法
- 2023年内蒙古化工职业学院单招笔试职业技能考试题库及答案解析
- GB/T 13871.1-2022密封元件为弹性体材料的旋转轴唇形密封圈第1部分:尺寸和公差
- GB/T 41696-2022下肢康复训练设备的分类及通用技术条件
- GB/T 2423.7-1995电工电子产品环境试验第2部分:试验方法试验Ec和导则:倾跌与翻倒(主要用于设备型样品)
- 西师版四年级数学上册第一单元测试题(A)
- 花甲水库库底清理实施方案(修订稿)
- 中医李源生针拔法治疗脑胶质瘤
- 麻醉科诊疗规范与操作常规
- 《红楼梦》中的服饰文化共38张课件
- 通风空调投标技术标版
- 新浙美版五年级上册美术教学计划
评论
0/150
提交评论