版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 1学 号数据结构课程设计设计说明书机票管理系统起止日期: 2011 年 12 月 12 日 至 2011 年 12 月 16 日学生姓名班级成绩指导教师 (签字 ) 电子与信息工程系电子与信息工程系2011 年年 12 月月 16 日日1 2天津城市建设学院课程设计任务书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)录入班次信息(信息用文件保存) ,可不定时地增加班次数据;1 3(2)浏览班次信息,可显示出所有班次当前状况(如果当前系统时间超过了某班次的起飞时间,则显示“此班已发出”的提示信息) 。(3)查询路线:可按班次号查询 ,可按终点站查询;(4)售票和退票功能 A:当查
4、询出已定票人数小于额定载量且当前系统时间小于起飞时间时才能售票,自动更新已售票人数B:退票时,输入退票的班次,当本航班飞机未发出时才能退票,自动更新已售票人数。目录1 4一、需求分析一、需求分析4二、问题求解二、问题求解4三、总体设计三、总体设计51。程序设计组成框图:52.程序设计流程图 6四、详细设计四、详细设计71。根据飞机订票系统的可设要求,要实现以下功能:72.具体的方法及函数调用的思想:7定义要存储的变量:73。方法的实现:8五、调试与测试五、调试与测试91。录入信息时 92。订票时:93。退票时:10六、关键源程序清单和执行结果六、关键源程序清单和执行结果101.源程序:102。
5、执行结果:17七、参考文献七、参考文献211 5一、 需求分析本课程设计的名称是机票管理系统,本系统主要是描述了机票管理的一些具体情况,包括录入航班、查询情况和订票以及退票,查询航班号是否存在,确定订票管理根据飞机的载量判断是否有剩余的载量,当载量小于飞机的载量可以订票,有特殊情况发生时会伴随着退票的发生.这就是产生订票系统产生的原因.二、 问题求解当我们遇到飞机订票这件事情的时候,我们通常发生的地点是飞机场,首先,我们应该到售票大厅去购买飞机票,因此,我根据我学过的 C+中学过的函数定义,它相当于其他高级语言中的高级记录。 18:00天津广汉214513026:30天津成都0.5140140
6、37:00天津成都0.5140120410:00天津成都0。5140120首先就要查询是否有该路线的票,如果有的话则进行购买,即要通过把信息录入 accept()方法来实现。则要录入航班号(prn),起飞时间(qifei),飞行时间(shijian) ,起始站(from) ,终点站(to)等。在查找 chaxun()方法中,首先定义航班号getprn 指针,然后读入文件信息,输入要查询的航班号用指针查询,用 strcmp()是用来比较字符串的大小,它的返回值是 char 类型。用 accept 写入信息并存入文件 passenger.txt,在读取 dis()方法中,读取已有的航班,航班mai
7、nmune()输出。订票时,首先应输入飞机航班号(cinprn) ,因为事先在列表里存储了四个航班信息,输入的订票数量。根据订票的数量和载量做对比 strcmp,如果小于载量就可以订票,则订票成功,返回”订票成功,返回是输出 mainmune(). 退票时,首先输入航班号 prn(),确认退票,就可以显示退票成功。输出 mainmune。三、总体设计1。程序设计组成框图机票管理系统录入信息浏览信息查询路线订票和退票1 62.程序设计流程图点击查询机票进入订票机票机票信息页面进入退票页面按条件查询开始载量?购票失败允许购买YNn退票航班?退票失败允许退票YN返回四、详细设计1 71.根据订票管理
8、系统的可设要求,要实现以下功能:(1)录入:录入航班情况(2)查询:根据航班号进行查询(3)订票: 1)当有余票时显示剩余票数,则可以订票成功,如果没有载量,则订票失败. 2)当系统时间小于起飞时间的方法没有时间。(4)退票:1)当飞机没有起飞,则可以退票成功. 2.具体的方法及函数调用的思想:(1)函数实现:可以通过以下的声明来建立如图的数据类型char prn20 ;char qifei20 ;char from20 ;char to20;char shijian20;char zailiang20;int piaoshu; 里的变量依次表示为:航班号,起飞时间,起始站点,终点站名,飞行时
9、间,载量,已订票人数; 18:00天津广汉214513026:30天津成都0.514014037:00天津成都0。5140120410:00天津成都0。51401203。方法的实现:1)accept( ); /写入信息并存入文件因为可设要求把数据存储在文件中,所以必须编写此保存方法,写入实现方式:ofstream out(passenger.txt”,ios:app); /输出方式打开文件,写入数据添加在文件末尾2)dis( ) ; /从文件读取信息并显示read 方法是用来读取 airpline.txt 文件中航班数据的,ios:in 以输入方式打开文件保存(”passenger.txt)目
10、录下.并且在目录里显示信息。3)chaxun( ) ; /查询,按航班号来查询根据已有的飞机信息来依据航班号信息来查询航班。查询到并输出列表。1 84)dingpiao() ; /订票函数 可以根据航班的载量来判定是否可以订票。如果当查询出已定票人数小于额定载量,则可以订票,输出订票成功。5)tuipiao( ) ; /订票函数当订票的时候,首先要输入要订票的航班号,因此在这之后应读入在系统中的航班的航班号,航班有没有起飞做对比,则可以办理退票。五、调试与测试1.录入信息时定义的是字符型,注意输入的时候不能输入别的类型。否则不能识别。2。系统时间小于起飞时间的功能没有实现自己经过反复的试着把这
11、功能实现,但是最后都是无功而返,经过同学咨询同学也模糊,由于我的类方法实现的,很难定义结构体时间函数,由于这个功能的缺陷,本人改编将系统的时间在主函数里定义,测试时候显示出来了(struct tm newtime; char tmpbuf128; time_t lt1; time( lt1 ) ; newtime=localtime(lt1); strftime( tmpbuf, 128, ” TODASY 9 月 d %A H:%M n”, newtime) ; printf(tmpbuf) ;) ,由于个人能力有限,时间有限,根据老师的要求最后决定是自己用 C实现的(本人操作实现).自己知
12、道怎么实现的思路但是实际操作还是差点,另外在类中很难实现,但是要把这功能加上根据本人能力.由于时间关系,这部分功能未能实现.六、关键源程序清单和执行结果1. 源程序:1 9includeiostreamincludefstreaminclude stdio。h #include time.husing namespace std;class Airplay /定义类public:char prn20;char qifei20 ;char from20 ;char to20 ;char shijian20 ;char zailiang20;int piaoshu;public:void getd
13、etail()coutprn;cout”请输入起飞时间: ;cin qifei;cout”请输入起点: ” ;cin。ignore() ;cin.getline(from,20);cout”请输入终点: ”;cin。getline(to,20) ;cout”请输入飞行时间: ”;cin shijian;cout”请输入载量: ” ;cin zailiang; cout请输入订票数: ;cin piaoshu;void display()cout”航班号t 起飞t 起点t 终点t 飞行t 载量t 订票数endl; void print() /显示信息1 10coutprntqifei”tfrom
14、t” to”t” shijian”tzailiang”t”piaoshuendl; char *getPrn()return prn; ;void mainmune()cout”-endl;cout”*机票管理系统*endl;cout-”endl;cout”1。 ) 录入机票信息” endl;cout2.) 显示所有信息” endl;cout”3.) 按航班号查询”endl;cout4。) 售票的功能endl;cout5.) 退票的功能endl;cout”6。 ) 退出” endl;cout”please choice:endl; void accept() /写入信息并存入文件system(
15、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) ;1 11rai。display();while(in。read((char *)&rai,sizeof(r
16、ai) ) )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() /售票的功能system(”cls” );mainmune();int i;char j20 ;cout”要定的航班:” ;cin j;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;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年场内机动车辆安全培训课件
- 上海立达学院《Android 移动开发》2025-2026学年第一学期期末试卷(B卷)
- 2026年房地产销售冠军话术实战技巧
- 2026年音乐版权保护对乐器音源采样产业影响洞察
- 2026年初中语文实践活动育人设计
- 2026年输血不良反应的识别与处理预案
- 大连东软信息学院《Android 应用开发课程设计》2025-2026学年第一学期期末试卷(B卷)
- 上海科技大学《安全生产与环境保护》2025-2026学年第一学期期末试卷(B卷)
- 磁共振兼容DSA系统研发策略
- 上海科技大学《Android 手机软件开发》2025-2026学年第一学期期末试卷(B卷)
- 航空应急生存知识考试题库(共300题含答案)
- 浙西南革命精神专论知到课后答案智慧树章节测试答案2025年春丽水学院
- 商圈分析与营销策略试题及答案
- 《调酒与咖啡制作》课件-鸡尾酒装饰物装饰
- 2025年贵州东晟资本营运集团有限公司招聘笔试参考题库含答案解析
- 《皮下注射尘螨变应原特异性免疫治疗的标准操作程序》
- 调取结婚档案授权委托书
- 2016建筑安装工程工期定额
- 荨麻疹课件完整版本
- 以诺书-中英对照
- DB1303-T365-2023 长城主题旅游景区服务规范
评论
0/150
提交评论