ImageVerifierCode 换一换
格式:DOCX , 页数:21 ,大小:183.48KB ,
资源ID:12156996      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12156996.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构 程序设计 机票管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据结构 程序设计 机票管理系统.docx

1、数据结构 程序设计 机票管理系统学 号 天津城市建设学院数据结构课程设计设计说明书机票管理系统起止日期: 2011年 12月 12 日 至 2011 年 12月16日学生姓名班级成绩指导教师(签字) 电子与信息工程系2011年 12月16日天津城市建设学院课程设计任务书20112012学年第1学期 电子与信息工程 系 软件工程 专业 班级课程设计名称: 数据结构课程设计 设计题目: 机票管理系统 完成期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周设计依据、要求及主要内容(可另加附页):一、设计目的熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些

2、实际问题。二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。三、设计内容机票管理系统1)问题描述一机场每天有n个航班,每个班次都有一班次号(1、2、3n),固定的起飞时间,固定的路线(起始站、终点站),大致的飞行车时间,固定的额定载客量。如班次 起飞时间 起点站 终点站 飞行

3、时间 额定载量 已定票人数1 8:00 天津 广汉 2 145 1302 6:30 天津 成都 0.5 140 1403 7:00 天津 成都 0.5 140 1204 10:00 天津 成都 0.5 140 120试设计一个机票管理系统,对机场的售票情况进行管理。2) 基本要求功能要求:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据;(2)浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的起飞时间,则显示“此班已发出”的提示信息)。(3)查询路线:可按班次号查询 ,可按终点站查询;(4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于起飞

4、时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本航班飞机未发出时才能退票,自动更新已售票人数。一、 需求分析本课程设计的名称是机票管理系统,本系统主要是描述了机票管理的一些具体情况,包括录入航班、查询情况和订票以及退票,查询航班号是否存在,确定订票管理根据飞机的载量判断是否有剩余的载量,当载量小于飞机的载量可以订票,有特殊情况发生时会伴随着退票的发生。这就是产生订票系统产生的原因。二、 问题求解 当我们遇到飞机订票这件事情的时候,我们通常发生的地点是飞机场,首先,我们应该到售票大厅去购买飞机票,因此,我根据我学过的C+中学过的函数定义,它相当于其他高级语言中的高级记录。 18

5、:00天津广汉214513026:30天津成都0.514014037:00天津成都0.5140120410:00天津成都0.5140120首先就要查询是否有该路线的票,如果有的话则进行购买,即要通过把信息录入accept()方法来实现。则要录入航班号(prn),起飞时间(qifei),飞行时间(shijian),起始站(from),终点站(to)等。在查找chaxun()方法中,首先定义航班号*getprn指针,然后读入文件信息,输入要查询的航班号用指针查询,用strcmp()是用来比较字符串的大小,它的返回值是char类型。用accept写入信息并存入文件passenger.txt,在读取d

6、is()方法中,读取已有的航班,航班mainmune()输出。订票时,首先应输入飞机航班号(cinprn),因为事先在列表里存储了四个航班信息,输入的订票数量。根据订票的数量和载量做对比strcmp,如果小于载量就可以订票,则订票成功,返回订票成功 ,返回是输出mainmune()。 退票时,首先输入航班号prn(),确认退票,就可以显示退票成功。输出mainmune。三、总体设计1.程序设计组成框图录入信息浏览信息查询路线订票和退票2.程序设计流程图四、详细设计1.根据订票管理系统的可设要求,要实现以下功能:(1)录入: 录入航班情况(2)查询:根据航班号进行查询(3)订票: 1)当有余票时

7、显示剩余票数,则可以订票成功,如果没有载量,则订票失败。 2)当系统时间小于起飞时间的方法没有时间。(4)退票: 1)当飞机没有起飞,则可以退票成功。 2.具体的方法及函数调用的思想:(1)函数实现:可以通过以下的声明来建立如图的数据类型char prn20; char qifei20; char from20; char to20; char shijian20; char zailiang20; int piaoshu; 里的变量依次表示为:航班号,起飞时间,起始站点,终点站名,飞行时间,载量,已订票人数; 18:00天津广汉214513026:30天津成都0.514014037:00天津

8、成都0.5140120410:00天津成都0.51401203.方法的实现:1)accept ( ); /写入信息并存入文件因为可设要求把数据存储在文件中,所以必须编写此保存方法,写入实现方式:ofstream out(passenger.txt,ios:app); /输出方式打开文件,写入数据添加在文件末尾 2)dis( ); /从文件读取信息并显示read方法是用来读取airpline.txt文件中航班数据的,ios:in 以输入方式打开文件保存 (passenger.txt)目录下。并且在目录里显示信息。3)chaxun( ); /查询,按航班号来查询根据已有的飞机信息来依据航班号信息来

9、查询航班。查询到并输出列表。4)dingpiao(); /订票函数 可以根据航班的载量来判定是否可以订票。如果当查询出已定票人数小于额定载量,则可以订票,输出订票成功。5)tuipiao( ); /订票函数当订票的时候,首先要输入要订票的航班号,因此在这之后应读入在系统中的航班的航班号,航班有没有起飞做对比,则可以办理退票。 五、调试与测试1.录入信息时定义的是字符型,注意输入的时候不能输入别的类型。否则不能识别。2. 系统时间小于起飞时间的功能没有实现自己经过反复的试着把这功能实现,但是最后都是无功而返,经过同学咨询同学也模糊,由于我的类方法实现的,很难定义结构体时间函数,由于这个功能的缺陷

10、,本人改编将系统的时间在主函数里定义,测试时候显示出来了(struct tm *newtime; char tmpbuf128; time_t lt1; time( <1 ); newtime=localtime(<1); strftime( tmpbuf, 128, TODASY 9 月 %d %A %H:%M n, newtime); printf(tmpbuf);),由于个人能力有限,时间有限,根据老师的要求最后决定是自己用C实现的(本人操作实现)。自己知道怎么实现的思路但是实际操作还是差点,另外在类中很难实现,但是要把这功能加上根据本人能力。由于时间关系,这部分功能未能实现。六

11、、关键源程序清单和执行结果1. 源程序:#include#include#include #include using namespace std;class Airplay /定义类public: char prn20; char qifei20; char from20; char to20; char shijian20; char zailiang20; int piaoshu; public: void getdetail() coutprn; coutqifei; cout请输入起点: ; cin.ignore(); cin.getline(from,20); cout请输入终点:

12、 ; cin.getline(to,20); coutshijian; coutzailiang; coutpiaoshu; void display() cout航班号t起飞t起点t终点t飞行t载量t订票数endl; void print() /显示信息 coutprntqifeitfromttotshijiantzailiangtpiaoshuendl; char *getPrn() return prn; ;void mainmune() cout-endl; cout*机票管理系统*endl; cout-endl; cout1.) 录入机票信息endl; cout2.) 显示所有信息e

13、ndl; cout3.) 按航班号查询endl; cout4.) 售票的功能endl; cout5.) 退票的功能endl; cout6.) 退出endl; coutplease choice:endl; void accept() /写入信息并存入文件 system(cls); mainmune(); Airplay rai; ofstream out(passenger.txt,ios:app); /输出方式打开文件,写入数据添加在文件末尾 rai.getdetail(); out.write(char *)&rai,sizeof(rai); out.close(); void dis()

14、 /从文件读取信息并显示 system(cls); mainmune(); Airplay rai; ifstream in(passenger.txt); rai.display(); while(in.read(char *)&rai,sizeof(rai) rai.print(); in.close();void chaxun() /按航班号查询 system(cls); mainmune(); char prns20; Airplay rai; coutprns; fstream fs(passenger.txt,ios:in|ios:out); while(fs.read(char

15、*)&rai,sizeof(rai) if(strcmp(prns,rai.getPrn()=0) rai.display(); rai.print(); fs.close(); break; void shoupiao() /售票的功能 system(cls); mainmune(); int i; char j20; coutj; couti; system(cls); mainmune(); Airplay rai; ifstream in(passenger.txt); rai.display(); while(in.read(char *)&rai,sizeof(rai) if(st

16、rcmp(j,rai.getPrn()=0) rai.print(); rai.piaoshu+=i; cout订票成功;void tuipiao() /退票的功能 system(cls); mainmune(); char h20; couth; system(cls); mainmune(); Airplay rai; ifstream in(passenger.txt); rai.display(); while(in.read(char *)&rai,sizeof(rai) if(strcmp(h,rai.getPrn()=0) rai.print(); rai.piaoshu-=1; coutchoice; switch(choice) case 1: accept(); break; case 2: dis(); break; case 3: chaxun(); break; case 4: shoupiao(); break; case 5: tuipiao(); break; case 6: exit(0); 2. 执行结果:查询:售票:退票:退出:七、参考文献1王红梅数据结构清华大学出版社2王红梅数据结构学习辅导与实验指导清华大学出版社3严蔚敏,吴伟民数据结构(C语言版)清华大学出版社

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1