下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计报告(2014 /2015 学年第一学期)题 目:火车票管理系统专 业通信工程学生姓名班级学号指导教师指导单位计算机学院计算机软件教学中心日 期评分细则评分项优秀良好中等差遵守机房规章制度上机时的表现学习态度程序准备情况程序设计能力团队合作精神课题功能实现情况算法设计合理性用户界面设计报告书写认真程度内容详实程度文字表达熟练程度回答问题准确度简短 评语教师签名:一年一月一日评分等级备 注评分等级有五种:优秀、良好、中等、及格、不及格火车票务管理系统一、课题内容和要求(-)课题内容该系统要求实现一个简单、实用的火车票管理程序,主要功能包括火车票数据的录 入、查找、删除、显示、售票、退票等
2、。所有火车票数据都要利用文件系统保存,以备 系统下次运行时使用。通过此课题,熟练掌握文件、数组、指针的各种操作,以及一些 基本算法思想的应用。(二)课题要求(1)火车票数据由多条记录组成,其信息包括:车次,发车时间,起点站,终点站,行车时间,额定载量,已售票人数等。(2)数据保存形式:所有火车票数据要以文本或二进制文件保存。(3)需要实现的功能1)新增火车票数据记录。2)查找火车票数据(可按车次,发车时间、起点站、终点站等查找)。3)删除火车票数据记录(先查找,再删除。若查找出多条记录,则进一步提示用户选择记录的车次,再删除)。4)对火车票排序(可按车次、发车时间、起点站、终点站等排序。5)显
3、示当前所有火车票信息列表。6)售票(先查找,当确定车次后,根据售票张数对该车次的已售票人数进行修改)。7)退票(售票的逆处理,过程与售票类似)。8)保存火车票数据到文件中。9)从文件中读入火车票数据。(4)界面功能要求:1)采用友好的字符界面,实现一个功能控制菜单。2)每次操作都从该菜单选择,利用循环结构使得一次运行程序可进行多次操 作。需求分析一、功能分析图二、录入班次信息:依次输入班次、起点站和终点站等信息同时保存在文件中,并可以随时增加新的班次信息,三、浏览班次信息:输出保存在文件中的全部班次信息,并区分当前的车次是否已发出,如发出则标记“此车已发出”。void liulan(fstre
4、am&f);long t;char m20;Ticket T;struct tin local;coutv”请输入售票的数目:vvendl;cinn;coutvv”请输入售票的班次:Nvendl;cinm;time(&t);local = localtime(&t);(0Jos:beg);o;cinti.hour;cinti.minute;_b;_e;cinti.tra_time;cinti.eding;cinti.yupiao;)(0Jos:end);o;cinti.hour;cinti.minute;_b;_e
5、;cinti.tra_time;cinti.eding;cinti.yupiao;)(0,ios:end);/文件指针指向文件尾for(i=0;inum;i+)(char*)&ti,sizeof(Ticket);)void Ticket:xiugai(fstream&f) (char n10;Ticket t;cout”请输入你要修改的班次:endl;cinn;(Oaos:beg);bool fd=false;while(!()&!fd) (char*)&t,sizeof(Ticket);if(fd=(n)coutvv”请依次输入Nvendkv”发车时间(时)、发车时间(分)、起点站、终点站、
6、行车时间、额定票数和余票数量Nendl;cin;cin;cin;cin;cin;cin;cin;cin;)(0,ios:end);/文件指针指向文件尾(char*)&t,sizeof(Ticket);void menu。/菜单函数c o u t vv”* _.* *塞*塞*塞*塞不 nendl;coutM1:录入车次信息Nvendl;coutM2:浏览车次信息Nvendl;coutM3:根据车次号查询路线“vvendl;coutM4:根据起点站查询路线Nvendl;cout5:根据终点站查询路线Nvendl;coutH6:排列发车时间表Nvendl;coutM7:售票Nvendl;coutM8
7、:退票vvendl;coutMcoutM9:增加车次Nvendl;10:修改车次 vvendl;coutM。:退出菜单vvendl;coutvv”请选择您需要操作的选项:Nvendl;1void main()int x;Ticket T;fstream file;coutw”*欢迎您使用票务管壬里系9本 I* ,menu();while(x)( cinx;(d:,ios:inlios:outlios:binary),创建并打开一进制文件switch(x)(case 1:(file);break;case 2:(file);break;case 3:(file);break;case 4:(fi
8、le);break;case 5:(file);break;case 6:(file);break;case 7:(file);break;case 8:(file);break;case 9:(file);break;case 10:(file);break;case 0:break;)Gill 南京 扬州 8 0 20 100 30G222南京北京103021120 35G333南京上海112214050G444南京广州302216040操作已完成,请继续!3、根据车次号查询路线输入:3 输出:请输入你要查找的班次号:输入:Gill输出:GUI南京扬州8 0 20100 30操作已完成,请
9、继续!4、根据起点站查询路线输入:4 输出:请输入你要查找的班次的起点站: 输入:南京 输出:Gin南京扬州0 20100 30G222南京北京103021120 35G333南京上海1122140 50G444南京广州3022160 40操作已完成,请继续!5、根据终点站查询路线输入:5 输出:请输入你要查找的班次的终点站:输入:上海 输出:G333 南京 上海11 0 22 140 50操作已完成,请继续!6、排列发车时间表输入:6 输出:Gill南京扬州0 20100 30G444南京广州3022160 40G222南京北京103021120 35G333南京上海1122140 50操作
10、已完成,请继续!7、售票输入:7 输出:请输入售票的数目:输入:1输出:请输入售票的班次:输入:G333输出:已售出1张该车次的车票!操作已完成,请继续退票8、退票 输入:8输出:请输入退票的数目:输入:1输出:请输入退票的班次:输入:G444输出:已退1张该车次的车票!操作已完成,请继续!9、退出菜单输入:。输出:* *欢迎您下次使用!*结果分析:(1)按照车次号、起点站或终点站查询班次时,如输入的车次信息不在数据库里或该车次已发出,则显示“未找到该车次信息!该车次不存在或已发出!(2)售票的班次如已发出,则显示“该车次已发出!”如无余票则提示“票已售完二(3)退票的班次如在半小时内发车或已
11、发出,则显示“退票失败!.六、调试过程中的问题1、录入班次信息的操作完成时,必须调用函数(O.ios:end)令文件指针指向文件尾,否则 下次录入新的数据时会覆盖之前的信息,造成班次信息的丢失。2、调用while(!()(char*)&Ti+,sizeof(Ticket);浏览班次信息后,文件中的班次信息的最后一条会被读两次,所以把班次信息显示在屏幕时利用(O,ios:end);int b=();(O,ios:beg);int a=();int c=(b-a)/sizeof(Ticket);获得文件内包含的班次信息总数c,调用for(int j=O;jc;j+)使班次信息个数得到准确提取后再输出。3、在主函数中的swicth()循环函数外层加上一个while。循环可连续多次对菜单进行操 作,从而提高了运行效率。七、课程设计总结通过将近两周的程序设计实习,我首先认识到自己编程水平的有限,十分后悔当初 没有学好C+,其次我也意识到编程是件很严谨的工作,一点点小的错误都会引起不可 想象的连锁反应。实践出真知,我觉得这两个星期的学习,自己收获很大,对我自己来说也是一种 锻炼,不仅在一定程度上增长了我对编程的认识,我也学会了团队合作,学会了坐冷板 凳一行一行敲代码。当然,我自己身上依然存在着不少的问题。比如对于一些难懂的代码,还是参考 了网
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46782-2025金属及其他无机覆盖层多层镍电镀层中各镍镀层厚度和层间电位差同步测试方法(STEP测试)
- 2026年私厨套餐提供合同
- 2025年大通湖区法院公开招聘聘用制司法警务辅助人员备考题库及参考答案详解一套
- 2025年电大监督学题库及答案
- 2025年防城港市生态环境局招聘备考题库及一套参考答案详解
- 2025年湖北银行武汉财富管理人员社会招聘备考题库及完整答案详解1套
- 2025年绍兴市文化市场执法指导中心招聘编制外工作人员备考题库及参考答案详解1套
- 2025年河源市人民医院招聘合同制人员88人备考题库及参考答案详解一套
- 2025年医院医保部年终工作总结
- 2024年沈阳金融商贸经济技术开发区管理委员会运营公司招聘考试真题
- 2025山东省人民检察院公开招聘聘用制书记员(40名)备考考试题库及答案解析
- 2025天津大学管理岗位集中招聘15人参考笔试题库及答案解析
- 2025年江苏省《保安员资格证考试》考试题库含答案
- 发展心理学-终结性考核-国开(GS)-参考资料
- 员工喝酒合同协议书
- 2025陕西三秦环保科技股份有限公司经理层成员市场化选聘工作5人考试笔试参考题库附答案解析
- 白蛋白肽的课件
- 2026民航华北空管局招聘44人考试笔试参考题库附答案解析
- 2025-2026学年人教版(新教材)小学数学三年级上册期末考试模拟试卷及答案(三套)
- 丙烯酸装置介绍
- 诊所安全生产管理制度
评论
0/150
提交评论