火车票管理系统课程设计报告_第1页
火车票管理系统课程设计报告_第2页
火车票管理系统课程设计报告_第3页
火车票管理系统课程设计报告_第4页
火车票管理系统课程设计报告_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论