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

上传人:ylj18****70940 文档编号:82096162 上传时间:2023-03-24 格式:PDF 页数:18 大小:775.84KB
返回 下载 相关 举报
数据结构程序设计机票管理系统.pdf_第1页
第1页 / 共18页
数据结构程序设计机票管理系统.pdf_第2页
第2页 / 共18页
点击查看更多>>
资源描述

《数据结构程序设计机票管理系统.pdf》由会员分享,可在线阅读,更多相关《数据结构程序设计机票管理系统.pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 1 学 号 数据结构课程设计 设计说明书 机票管理系统 起止日期:2011 年 12 月 12 日 至 2011 年 12 月 16 日 学生姓名 班级 成绩 指 导 教 师(签 字)电子与信息工程系 2011 年 12 月 16 日 70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 2 天津城市建设学院 课程设计任务书 20112012 学年第 1 学期 电子与信息工程 系 软件工程 专业 班级 课程设计名称:数据结构课程设计 设计题目:机票管理系统 完成

2、期限:自 2011 年 12 月 12 日至 2011 年 12 月 16 日共 1 周 设计依据、要求及主要内容(可另加附页):一、设计目的 熟悉各种数据结构和运算,会使用数据结构的基本操作解决一些实际问题。二、设计要求 (1)重视课程设计环节,用严谨、科学和踏实的工作态度对待课程设计的每一项任务;(2)按照课程设计的题目要求,独立地完成各项任务,严禁抄袭;凡发现抄袭,抄袭者与被抄袭者皆以零分计入本课程设计成绩。凡发现实验报告或源程序雷同,涉及的全部人员皆以零分计入本课程设计成绩;(3)学生在接受设计任务后,首先要按设计任务书的要求编写设计进程表;(4)认真编写课程设计报告。三、设计内容 机

3、票管理系统 1)问题描述 一机场每天有 n 个航班,每个班次都有一班次号(1、2、3n),固定的起飞时间,固定的路线(起始站、终点站),大致的飞行车时间,固定的额定载客量。如 班次 起飞时间 起点站 终点站 飞行时间 额定载量 已定票人数 1 8:00 天津 广汉 2 145 130 2 6:30 天津 成都 0.5 140 140 3 7:00 天津 成都 0.5 140 120 4 10:00 天津 成都 0.5 140 120 试设计一个机票管理系统,对机场的售票情况进行管理。2)基本要求 功能要求:(1)录入班次信息(信息用文件保存),可不定时地增加班次数据;(2)浏览班次信息,可显示

4、出所有班次当前状况(如果当前系统时间超过了某班次的起飞时间,则显示“此班已发70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 3 出”的提示信息)。(3)查询路线:可按班次号查询,可按终点站查询;(4)售票和退票功能 A:当查询出已定票人数小于额定载量且当前系统时间小于起飞时间时才能售票,自动更新已售票人数 B:退票时,输入退票的班次,当本航班飞机未发出时才能退票,自动更新已售票人数。目录 一、需求分析.5 二、问题求解.5 70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 4 三、总体设计.5 2.程序设

5、计流程图.6 四、详细设计.6 1.根据订票管理系统的可设要求,要实现以下功能:.7 2.具体的方法及函数调用的思想:.7 3.方法的实现:.7 五、调试与测试.8 1.录入信息时.8 六、关键源程序清单和执行结果.8 1.源程序:.8 2.执行结果:.13 七、参考文献.18 70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 5 一、需求分析 本课程设计的名称是机票管理系统,本系统主要是描述了机票管理的一些具体情况,包括录入航班、查询情况和订票以及退票,查询航班号是否存在,确定订票管理根据飞机的载量判断是否有剩余的载量,当载量小于飞机的载量可以订票

6、,有特殊情况发生时会伴随着退票的发生。这就是产生订票系统产生的原因。二、问题求解 当我们遇到飞机订票这件事情的时候,我们通常发生的地点是飞机场,首先,我们应该到售票大厅去购买飞机票,因此,我根据我学过的 C+中学过的函数定义,它相当于其他高级语言中的高级记录。1 8:00 天津 广汉 2 145 130 2 6:30 天津 成都 0.5 140 140 3 7:00 天津 成都 0.5 140 120 4 10:00 天津 成都 0.5 140 120 首先就要查询是否有该路线的票,如果有的话则进行购买,即要通过把信息录入 accept()方法来实现。则要录入航班号(prn),起飞时间(qif

7、ei),飞行时间(shijian),起始站(from),终点站(to)等。在查找 chaxun()方法中,首先定义航班号*getprn 指针,然后读入文件信息,输入要查询的航班号用指针查询,用 strcmp()是用来比较字符串的大小,它的返回值是 char 类型。用 accept 写入信息并存入文件 passenger.txt,在读取 dis()方法中,读取已有的航班,航班mainmune()输出。订票时,首先应输入飞机航班号(cinprn),因为事先在列表里存储了四个航班信息,输入的订票数量。根据订票的数量和载量做对比 strcmp,如果小于载量就可以订票,则订票成功,返回订票成功,返回是输

8、出 mainmune()。退票时,首先输入航班号 prn(),确认退票,就可以显示退票成功。输出 mainmune。三、总体设计 1.程序设计组成框图 机票管理系统 录入信息 浏览信息 查询路线 订票和退票 70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 6 2.程序设计流程图 四、详细设计 点击查询机票 进入订票机票 机票信息页面 进入退票页面 按条件查询 开始 载量?购票失败 允许购买 Y N退票航班?退票失败 允许退票 Y N 返回 70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 7 1.根据订票

9、管理系统的可设要求,要实现以下功能:(1)录入:录入航班情况 (2)查询:根据航班号进行查询 (3)订票:1)当有余票时显示剩余票数,则可以订票成功,如果没有载量,则订票失败。2)当系统时间小于起飞时间的方法没有时间。(4)退票:1)当飞机没有起飞,则可以退票成功。2.具体的方法及函数调用的思想:(1)函数实现:可以通过以下的声明来建立如图的数据类型 char prn20;char qifei20;char from20;char to20;char shijian20;char zailiang20;int piaoshu;里的变量依次表示为:航班号,起飞时间,起始站点,终点站名,飞行时间,

10、载量,已订票人数;1 8:00 天津 广汉 2 145 130 2 6:30 天津 成都 0.5 140 140 3 7:00 天津 成都 0.5 140 120 4 10:00 天津 成都 0.5 140 120 3.方法的实现:1)accept();/写入信息并存入文件 因为可设要求把数据存储在文件中,所以必须编写此保存方法,写入实现方式:ofstream out(passenger.txt,ios:app);/输出方式打开文件,写入数据添加在文件末尾 2)dis();/从文件读取信息并显示 read 方法是用来读取 airpline.txt 文件中航班数据的,ios:in 以输入方式打开

11、文件 保存(passenger.txt)目录下。并且在目录里显示信息。3)chaxun();/查询,按航班号来查询 根据已有的飞机信息来依据航班号信息来查询航班。查询到并输出列表。70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 8 4)dingpiao();/订票函数 可以根据航班的载量来判定是否可以订票。如果当查询出已定票人数小于额定载量,则可以订票,输出订票成功。5)tuipiao();/订票函数 当订票的时候,首先要输入要订票的航班号,因此在这之后应读入在系统中的航班的航班号,航班有没有起飞做对比,则可以办理退票。五、调试与测试 1.录入信息

12、时 定义的是字符型,注意输入的时候不能输入别的类型。否则不能识别。2.系统时间小于起飞时间的功能没有实现 自己经过反复的试着把这功能实现,但是最后都是无功而返,经过同学咨询同学也模糊,由于我的类方法实现的,很难定义结构体时间函数,由于这个功能的缺陷,本人改编将系统的时间在主函数里定义,测试时候显示出来了(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);),

13、由于个人能力有限,时间有限,根据老师的要求最后决定是自己用 C实现的(本人操作实现)。自己知道怎么实现的思路但是实际操作还是差点,另外在类中很难实现,但是要把这功能加上根据本人能力。由于时间关系,这部分功能未能实现。六、关键源程序清单和执行结果 1.源程序:70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 9#include#include#include#include using namespace std;class Airplay /定义类 public:char prn20;char qifei20;char from20;char to2

14、0;char shijian20;char zailiang20;int piaoshu;public:void getdetail()coutprn;coutqifei;cout请输入起点:;cin.ignore();cin.getline(from,20);cout请输入终点:;cin.getline(to,20);coutshijian;coutzailiang;coutpiaoshu;void display()cout航班号t 起飞t 起点t 终点t 飞行t 载量t 订票数endl;void print()/显示信息 70+120+120+70m 连续梁桥 及 80+140+140+

15、80m 连续刚构桥施工方案 10 coutprntqifeitfromttotshijiantzailiangtpiaoshuendl;char*getPrn()return prn;void mainmune()cout-endl;cout*机票管理系统*endl;cout-endl;cout1.)录入机票信息endl;cout2.)显示所有信息endl;cout3.)按航班号查询endl;cout4.)售票的功能endl;cout5.)退票的功能endl;cout6.)退出endl;coutplease choice:endl;void accept()/写入信息并存入文件 system(

16、cls);mainmune();Airplay rai;ofstream out(passenger.txt,ios:app);/输出方式打开文件,写入数据添加在文件末尾 rai.getdetail();out.write(char*)&rai,sizeof(rai);out.close();void dis()/从文件读取信息并显示 system(cls);mainmune();Airplay rai;ifstream in(passenger.txt);rai.display();70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 11 while

17、(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*)&rai,sizeof(rai)if(strcmp(prns,rai.getPrn()=0)rai.display();rai.print();fs.close();break;void shoupiao()/售票的

18、功能 system(cls);mainmune();int i;char j20;coutj;couti;system(cls);mainmune();Airplay rai;70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 12 ifstream in(passenger.txt);rai.display();while(in.read(char*)&rai,sizeof(rai)if(strcmp(j,rai.getPrn()=0)rai.print();rai.piaoshu+=i;cout订票成功;void tuipiao()/退票的功能 s

19、ystem(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:sh

20、oupiao();break;case 5:tuipiao();break;case 6:exit(0);2.执行结果:70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 14 70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 15 查询:70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 16 售票:70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 17 退票:70+120+120+70m 连续梁桥 及 80+140+140+80m 连续刚构桥施工方案 18 退出:七、参考文献 1王红梅数据结构清华大学出版社 2王红梅数据结构学习辅导与实验指导清华大学出版社 3严蔚敏,吴伟民数据结构(C 语言版)清华大学出版社 雨滴穿石,不是靠蛮力,而是靠持之以恒。拉蒂默

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁