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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

数据结构课程设计航空客运订票系统.docx

1、数据结构课程设计航空客运订票系统 湖南工业大学课 程 设 计资 料 袋 计算机与通信 学院(系、部) 2009 2010 学年第 二 学期 课程名称 数据结构 指导教师 职称 教授 学生姓名 专业班级 学号 题 目 航空客运订票系统 成 绩 起止日期 2010年6 月 28日 2010年 7 月 日目 录 清 单序号材 料 名 称资料数量备 注1课程设计任务书12课程设计说明书13课程设计图纸1张456 湖南工业大学课程设计任务书2009 2010 学年第 二 学期 计算机与通信 学院(系、部) 专业 班级课程名称: 数据结构 设计题目: 航空客运订票系统 完成期限:自 2010 年 6 月

2、28日至 2010 年7 月 日共 1 周内容及任务一、设计的主要技术参数使用队列让预定客户排队等候已定客户退票后再实现买票功能二、设计任务使用C语言实现各个模块的功能.三、设计工作量 本人独自完成这些基本要求,完成了航班信息的输入,查询航线的功能以及订票和退票等功能的实现!进度安排起止日期工作内容2010-6-27设计本程序思路2010-6-28实现子程序模块函数2010-6-29将子程序和主程序构建成完整的C源程序,并且进行相关编译调试2010-6-30数据测试、形成文档主要参考资料指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日数据结构设计说明书数据结构课程设计航空客

3、运订票系统起止日期: 2010 年 6 月 28日 至 2010年 7 月 日学生姓名班级学号成绩指导教师(签字)计算机与通信学院(部)年 月 日湖南工业大学课程设计情况分析表课程设计名称数据结构设计周数17周学院(部)计算机与通信学院系(教研室)通信工程系指导教师文志诚学生专业、班级通信工程0903选题航空客运订票系统成绩分布优良中及格不及格学生数百分比学生课程设计存在的主要问题改进措施及建议指导教师(签字): 年 月 日系(教研室)主任(签字): 年 月 日备注:本表在课程设计完成后由指导教师填写,与课程设计资料一起存档。 1. 题目及需求分析 VI 2. 概要设计 VII 3. 详细设计

4、 X 4. 调试分析 XIX 5. 用户手册 XXI 6. 测试结果 XXIII 7. 附录 程序清单 XXV题目: 航空客运订票系统扩展: 增加了运行面板的颜色; 增加添加了进入要密码输入功能; 显示功能比要求的多了些,意在增加程序的智能化一 . 需求分析 ( 1 ) 以线性表存储航班信息,以队列存储预定客户的名单。 ( 2 ) 设计交互界面 , 用户只需输入选择就可做想做的事情. ( 3 ) 用户可以自己输入航班信息的多少 , 然后由程序自动打印出航班信息. ( 4 ) 一切操作都有向导. 二 . 概要设计 1. 设定线性表的抽象数据类型定义 :ADT List 数据对象 : D=ai|a

5、iint, i = 0,1,2n , n0 数据关系 : R1= | ai-1,ai D,i=2,n 基本操作 :InitList(&L) 操作结果 : 构造一个空的线性表L.DestroyList(&L) 初始条件 : 线性表L已存在。操作结果 : 销毁线性表L。ClearList(&L) 初始条件 : 线性表L已存在。操作结果 : 将L重新置为空表。ListEmpty(L) 初始条件 : 线性表L已存在。操作结果 : 判断线性表是否为空 ADT List;2. 设定队列的抽象数据类型ADT Queue 数据对象 : D=ai|aiint,i=1,2,3,4,,n,n=0 数据关系 : R1

6、= | ai-1,ai D,i=2,n 基本操作 : InitQueue(&Q) 操作结果: 构造一个空队列Q.DestoryQueue(&Q) 初始条件: 队列Q已存在。 操作结果: 队列Q被摧毁,不再存在。ClearEmpty(Q) 初始条件: 队列Q已存在。 操作结果: 将队列Q清为空队列。EnQueue(&Q,e) 初始条件: 队列Q已存在。 操作结果: 插入元素e为Q的新的队尾元素。DeQueue(&Q,&e) 初始条件: Q为非空队列。操作结果: 删除Q的队头元素,并用e返回其值。ADT Queue; 3. 本程序包含3个模块1) 主程序模块:int main() 主菜单函数, 实

7、现主要操作界面. return 0;/主函数2) 线性表模块-实现线性表抽象数据类型3) 队列模块-实现队列抽象数据类型各模块之间的调用如下: 4. 求解预定票实现的伪码算法:设定当前订票的情况;Do 若与票数足够, 则 则为客户订票; 否则 若客户愿意等候买票 则 办理预定票手术否则推出订票功能while (票数存在); 三. 详细设计工程文件视图: 类视图: -头文件设计(部分)-1.源程序头文件#include stdafx.h#include malloc.h#include math.h#include stdio.h#include stdlib.h#include string.

8、h#include conio.h#include process.htypedef struct yidingkehu int name; int dingpiaoliang; int chuangweidengji; struct yidingkehu *next1;yiding,*link;typedef struct denghoukehu int name; int piaoshu; int chuangweidengji; struct denghoukehu *next2;denghou,*Qptr;typedef struct hangxian int zhongdianzha

9、n; int hangbanhao; int feijihao; int feixingzhouri; int chengyuanzongshu; int yupiaoliang; struct hangxian *next; struct yidingkehu *yiding; struct denghoukehu *denghou;hangxian,*linklist;typedef struct Qptr front; Qptr rear;linkqueue;struct hangxian *L=NULL;struct yidingkehu *H;linkqueue Q;-实现文件(部分

10、)-1. void hangbanxinxi() int i=1; while(i=1) if(!insertlinklist(linklist) L) printf(不能再输入航班信息!n); exit(0); printf(是否输入航班信息?n); printf( 1:是n); printf( 2:否n); scanf(%d,&i); printf(n); 2.int insertlinklist(linklist &L) linklist p; p=(linklist)malloc(sizeof(hangxian); if(!p) exit(0); printf(t请依次输入下面几项内容

11、:nn); printf(航班号n); scanf(%d,&p-hangbanhao); printf(飞机号n); scanf(%d,&p-feijihao); printf(终点站n); scanf(%d,&p-zhongdianzhan); printf(飞行周日n); scanf(%d,&p-feixingzhouri); printf(乘客总数n); scanf(%d,&p-chengyuanzongshu); printf(余票数n); scanf(%d,&p-yupiaoliang); p-yiding=(yidingkehu*)malloc(sizeof(yidingkehu)

12、; p-denghou=Q.front=Q.rear=(Qptr)malloc(sizeof(denghoukehu); p-next=L-next; L-next=p; return 1;3. void dingpiaoyewu() linklist p=(linklist)malloc(sizeof(hangxian); p=L; yiding *h=H,*h1; linkqueue q=Q; int i,j,k,piao,yudingpiao=0,yidingpiao=0; if(!p-next ) printf(没有航班信息!n请输入航班信息!nn); else printf(请输入终

13、点站:); scanf(%d,&i); printf(n); p=L-next; if(p) do if(!p) printf(对不起!没有你要查询的航班!nnn); break; j=p-zhongdianzhan-i; if(j=0) printf(t航班信息:n); printf(t航班号:%dn,p-hangbanhao); printf(t飞机号:%dn,p-feijihao); printf(t乘客总数:%dn,p-chengyuanzongshu); printf(t飞行时间:周%dn,p-feixingzhouri); printf(t余票量:%dn,p-yupiaoliang

14、); else p=p-next; while(j!=0); if(j=0) do printf(n请输入你要定的票数:); scanf(%d,&piao); printf(n); if(piaoyupiaoliang) h=p-yiding; if(h) h1=h; h=h-next1; h=(yiding*)malloc(sizeof(yiding); printf(t请输入你的名字:); scanf(%d,&h-name); printf(n); printf(t你要的窗位等级:); scanf(%d,&h-chuangweidengji); printf(n); if(h-chuang

15、weidengji =1)&(h-chuangweidengji dingpiaoliang=piao; h-next1 =h1-next1 ; h1-next1 =h; p-yupiaoliang=p-yupiaoliang -piao; printf(订票成功!n); j=2; else printf(没有这等窗位!n); break; else printf(余票量:%dn,p-yupiaoliang); printf(余票量%d张不能满足你的订票量nnn,p-yupiaoliang ); printf(是否要订票?); printf(1:需要2:不需要3:预定); scanf(%d,&

16、j); printf(n); if(j=3) struct denghoukehu *q1; printf(航班的票已经售完!n); q.front =p-denghou; if(q.front =q.rear ) printf(没有人预定,是否预定?n); else printf(有人预定,是否预定?n); printf(1预定:2:不预定n); scanf(%d,&k); printf(n); if(k=1) q1=(Qptr)malloc(sizeof(denghou); printf(请输入你的名字:); scanf(%d,&q1-name); printf(n); printf(请输

17、入你要预定的票数:); scanf(%d,&q1-piaoshu); printf(n); printf(请输入你要预定的窗位等级:); scanf(%d,&q1-chuangweidengji); if(q1-chuangweidengji 3)|(q1-chuangweidengji next2 =NULL; q.rear -next2 =q1; q.rear =q1; printf(预定成功!n); while(j=1); else if(!p) struct denghoukehu *q1; printf(航班的票已经售完!n); q.front =p-denghou; if(q.fr

18、ont =q.rear ) printf(没有人预定,是否预定?n); else printf(有人预定,是否预定?n); printf(1预定:2:不预定n); scanf(%d,&k); printf(n); if(k=1) q1=(Qptr)malloc(sizeof(denghou); printf(请输入你的名字:); scanf(%d,&q1-name); printf(n); printf(请输入你要预定的票数:); scanf(%d,&q1-piaoshu); printf(n); q1-next2 =NULL; q.rear -next2 =q1; q.rear =q1; p

19、rintf(预定成功!n); 4. void chaxunhangxian() int i; printf(1:特定查询2:全部查询3:最近一天航班信息n); printf(请选择功能:); scanf(%d,&i); printf(n); switch(i) case 1: tdcx(); break; case 2: qbcx(); break; case 3: zjyt(); break; 5. void tdcx() int i,j,k=1; linklist p=(linklist)malloc(sizeof(hangxian); p=L; if(p-next =NULL) prin

20、tf(还没有航班信息!n请输入航班信息!nn); else printf(请输入终点站名字:); scanf(%d,&i); printf(n); do p=p-next ; if(p) j=p-zhongdianzhan-i; if(j=0) printf(t航班信息%d如下:n,k); printf(t航班号:%dn,p-hangbanhao); printf(t飞机号:%dn,p-feijihao ); printf(t飞行周日:%dn,p-feixingzhouri ); printf(t余票量:%dnn,p-yupiaoliang); k+; else printf(t没有你要查询的

21、航班号!nn); break; while(j!=0); 6.void qbcx() int k=1; linklist p=(linklist)malloc(sizeof(hangxian); p=L; if(p-next =NULL) printf(还没有航班信息!n请输入航班信息!nn); else do p=p-next ; if(p) printf(t航班信息%d如下:n,k); printf(t航班号:%dn,p-hangbanhao); printf(t飞机号:%dn,p-feijihao ); printf(t飞行周日:%dn,p-feixingzhouri ); printf

22、(t余票量:%dnn,p-yupiaoliang); k+; while(p); 7.void zjyt() int i,j,k=1; linklist p=(linklist)malloc(sizeof(hangxian); p=L; if(p-next =NULL) printf(还没有航班信息!n请输入航班信息!nn); else printf(请输入特定某天的航班信息的日期!n); scanf(%d,&i); printf(t%d号最近一天的航班信息如下所示:nn,i); do p=p-next ; j=p-feixingzhouri -i; if(fabs(j)hangbanhao); printf(t飞机号:%dn,p-feijihao ); printf(t飞行周日:%dn,p-feixingzhouri ); printf(t余票量:%dnn,p-yupiaoliang); k+; else if(p-next=NULL) printf(t没有航班信息!n); while(p-next ); 8. void tuipiaoyewu() linklist p=(linklist)malloc(sizeof(hangxian); p=L; if(p-next =NULL)

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

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