




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机软件基础课程设计报告题目 飞机订票系统班级 09 系统工程一班姓名 学指导老师 完成时间 2010年11月8日题目内容:航空客运订票的业务系统(1)主要内容 :试设计一个航空客运订票系统,可以借助计算机来完成:A管理员登陆可以进行航班的录入和航班的修改亮相功能、B乘客登陆可以进行查询航班、客票预定和办理退票等三项功能。(2)要求:每条航线所涉及的信息有:航班号、起飞时间、抵达时间、起始站、 终点站名、票价、折扣、座位数等;功能描述:通过此系统可以实现如下功能: 输入功能 输出功能 添加航班功能 修改航班功能 查询功能 订票功能 退票功能注:(1)管理员登陆 :1航班录入、2修改航班 (2)乘客登陆 1 订票、2退票、3查看今日航班信息 概要设计:主函数菜单函数主界面乘客登陆管理员登陆退出系统航班录入订票退票查看今日航班信息修改录入返回主菜单详细设计:A详细函数:#include #include #include #include #include #define M 2 #define B 2 #define S 2 typedef char keytype; /*=机票结构体=*/ typedef struct Ticket char m_number8; /*航班号*/ char m_Start_Time6; /*航班起飞时间*/ char m_End_Time6; /*航班抵达目的地时间*/ char m_Start_City8; /航班起飞城市 char m_End_City8; /航班抵达城市 int m_price; /票价 int m_discount; /折扣 int m_Is_Full; /航班是否满仓 Ticket,*pTicket; /*=*/ /*=线性表结构结点=*/ typedef struct keytype key8;Ticket tic; TABLE; /*=*/ /*=索引表结构结点=*/ typedef struct keytype key8;int low,high; INDEX; /*=*/ /*=管理员信息=*/ typedef struct Admin char user_name8; /管理员姓名 char user_password8; /管理员密码 Admin,*pAdmin; /*=*/ /*=客户信息结构体=*/ typedef struct Client int cl_num; /客户编号 char cl_name8; /客户姓名 char cl_portnum8; /客户证件号 int cl_count; /订票数量 Ticket cl_tic; /航班情况 Client; /*=全局变量定义区=*/ int choice; /选择操作全局变量 int choice2; int choice3; Admin *m_admin; /管理员信息结构模块声明 Ticket *m_ticket; /机票信息结构指针 Client *m_client; /客户信息结构体指针 TABLE listM; /说明线性表变量 INDEX inlistB; /索引表变量 int kc,cj; char key8; /*=函数申明=*/ void Init_Admin(); /初始化管理员信息 void Init_Ticket(); /初始化机票信息 void Init_Client(); /初始化客户信息 int Ticket_input(); /航班录入 int Ticket_write_into_database(); /航班信息存盘,写入数据文件 int Login_Check(); /*管理员登录验证模块*/ int Client_input(); /客户资料填写 int Clinet_write_into_database(); / 客户资料和客户订票信息写入数据文件 void Ticket_read_from_database(); /从文件读取航班信息 void Ticket_show(); /显示当前航班信息 void Clinet_read_from_database(); /从文件读取客户信息 void modify (char*key,int kc,int cj); void modify_input(); /*=函数申明=*/ /*-菜单模块区域-*/ void MenuFirst(); /*一级菜单*/ void MenuSecond1(); /*二级菜单1*/ void MenuSecond2(); /*二级菜单2*/ void Select_MenuF(); /*一级菜单选择操作函数*/ void Select_MenuS(); /*二级菜单选择操作函数*/ void Select_MenuS2(); /*二级菜单选择操作函数2*/ /*-菜单模块区域-*/ /*=全局变量定义区结束-*/ /* 一级菜单*/ void MenuFirst() printf(nnnn * powerd by:liuxiao 2010.10. version:1.0.0.0*n); printf(n -航班订票系统-n); printf( = = n); printf( = 1.管理员登录 = n); printf( = = n); printf( = 2.乘客登录 = n); printf( = = n); printf( = 3.退出系统 = n); printf( = = n); printf( -n); printf( 请选择操作: ); scanf(%d,&choice); Select_MenuF(); /* 一号二级菜单*/ void MenuSecond1() printf(nnnn * powerd by:liuxiao 2010.10. version:1.0.0.0*n); printf(n -后台操作-n); printf( = =n ); printf( = 1.航班录入 =n ); printf( = =n ); printf( = 2.修改航班信息 =n ); printf( = =n ); printf( = 3.返回主菜单 =n); printf( -nn ); printf( 请选择操作: ); scanf(%d,&choice2); /* 二号二级菜单*/ void MenuSecond2() printf(nnnn * powerd by:liuxiao 2010. 10.version:1.0.0.0 *n); printf(n -欢迎(%s)乘客的到来!-n,m_client-cl_name); printf( = =n ); printf( = 1.订票 =n ); printf( = =n ); printf( = 2.退票 =n ); printf( = =n ); printf( = 3.查看今日航班信息 =n ); printf( = =n ); printf( = 4.返回主菜单 =n); printf( -nn ); printf( 请选择操作: ); scanf(%d,&choice3); /* 一级菜单选择操作函数*/ void Select_MenuF() int i; while(choicecl_name); Sleep(4000); /延时2秒 system(cls); MenuSecond2(); /客户2级菜单操作界面 Select_MenuS2(); /客户2级菜单操作函数 break; case 3: i=MessageBox(NULL,确定要退出系统吗?,谢谢您的使用,再见!-by:刘霄,MB_YESNO); if(i=IDYES) exit(0); else system(cls); MenuFirst(); break; void Select_MenuS() /*二级菜单选择操作函数*/ int i; int ch1; while(choice4) switch(choice2) case 1: i=Ticket_input(); /进行航班录入操作 if(i=0) printf(信息录入失败,请重新录入!); else printf(成功录入信息!); Ticket_show(); Sleep(4000); system(cls); MenuSecond1(); /成功录入后返回二级菜单继续操作 Select_MenuS(); break; case 2: system(cls); modify_input(); printf(按 1键返回上级菜单.n); scanf(%d,&ch1); if(ch1=1) system(cls); MenuSecond1(); /成功查询结束后返回二级菜单继续操作 Select_MenuS(); break; case 3: system(cls); MenuFirst(); break; void Select_MenuS2() /*二级菜单选择操作函数2*/ int i,k,now_ticket, now_ticket2; char j8,ch; while(choice3cl_count+=1; /订票, 本客户飞机票数量增加 1 Ticket_read_from_database(); /从文件读取当前可选航班信息 system(cls); printf(今日航班安排:n); Ticket_show(); /屏幕显示航班信息,供客户选择 printf(请选择您需要订购的机票航班号: ); again: scanf(%s,j); for(i=0;iM;i+) if(strcmp(j,listi.tic.m_number)=0) printf(请输入您需要订购的数量: ); scanf(%d,&k); now_ticket=listi.tic.m_Is_Full; now_ticket-=k; while(now_ticketcl_count+=k; /客户本身订票数量 i=Clinet_write_into_database(); /把客户及其订票信息写入数据文件 if(i=0) printf(信息录入失败,请重新录入!); else printf(订票成功!); Sleep(1500); system(cls); MenuSecond2(); /成功录入后返回二级菜单继续操作 Select_MenuS2(); /递归调用自身 if(i=M) printf(不存在您所选择的航班号,请重新输入: ); goto again; break; case 2: / m_client-cl_count-=1; /客户信息中的订票数量减1,退票 Ticket_read_from_database(); /从文件读取当前可选航班信息 Clinet_read_from_database(); system(cls); printf(今日航班安排:n); Ticket_show(); /屏幕显示航班信息,供客户选择 printf(请选择您需要退票的航班号: ); again2: scanf(%s,j); for(i=0;icl_count; now_ticket2-=k; while(now_ticket2cl_count); printf(请输入您需要退票的数量: ); scanf(%d,&k); now_ticket2=m_client-cl_count; now_ticket2-=k; now_ticket=listi.tic.m_Is_Full; now_ticket+=k; listi.tic.m_Is_Full=now_ticket; Ticket_write_into_database(); m_client-cl_count-=k; /客户本身订票数量 i=Clinet_write_into_database(); /把客户及其订票信息写入数据文件 if(i=0) printf(信息录入失败,请重新录入!); else printf(退票成功!); Sleep(1500); system(cls); MenuSecond2(); /成功录入后返回二级菜单继续操作 Select_MenuS2(); /递归调用自身 if(i=M) printf(不存在您所选择的航班号,请重新输入: ); goto again2; break; case 3: Ticket_read_from_database(); /从文件读取当前可选航班信息 system(cls); printf(今日航班:n); Ticket_show(); printf(n请按b键返回上级菜单); ch=getchar(); if(ch=b) system(cls); MenuSecond2(); /成功查询结束后返回二级菜单继续操作 Select_MenuS2(); break; case 4: system(cls); MenuFirst(); break; /*-初始化管理员信息-*/ void Init_Admin() m_admin=(pAdmin)malloc(sizeof(Admin); strcpy(m_admin-user_name,lx); strcpy(m_admin-user_password,12345); /*-*/ /*-初始化客户信息-*/ void Init_Client() m_client=(Client*)malloc(sizeof(Client); /*-*/ void Init_Ticket() /初始化机票信息 m_ticket=(pTicket)malloc(sizeof(Ticket); /*-*/ /客户资料填写 int Client_input() int i; char ch; i=1; Init_Client(); /初始化客户信息的结构体指针 m_client-cl_num=i; /初始化客户编号 m_client-cl_count=0; /初始化时,订票数量为0张 printf(您的名字: ); scanf(%s,m_client-cl_name); printf(n); printf(请选择您的证件类型: n); printf(a:身份证 b:学生证 n); ch=getchar(); ch=getchar(); if(ch=a) printf(请输入您的身份证号: ); if(ch=b) printf(请输入您的学生证号: ); scanf(%s,m_client-cl_portnum); printf(n); return 1; /*-*/ int Ticket_input() /航班录入 int i,j; Init_Ticket(); /初始化机票 for(i=0;iM;i+) printf( 航班号: ); scanf(%s,listi.tic.m_number); printf(n); printf(航班起飞时间: ); scanf(%s,listi.tic.m_Start_Time); printf(n); printf(航班抵达目的地时间: ); scanf(%s,listi.tic.m_End_Time); printf(n); printf(航班起飞城市: )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 影视后期制作外包合同
- 时间序列统计学人大课件
- 卡通小学新生入学开学第一课
- 换个角度看世界的初三话题作文7篇
- 梦想起航200字(10篇)
- 我真后悔650字(15篇)
- 2025年秋季学期高中英语必修2同步练习题试卷(提高版)
- 《鞋革产业区块链应用 数据规范与追溯接口规范》(征求意见稿)
- 平阳初三数学试卷
- 2024年昭通市职业教育中心招聘笔试真题
- 排尿评估及异常护理
- 隧道穿越大型活动断裂带的技术对策
- 宏业清单计价软件入门必备
- 硅锰合金的冶炼要点
- 人教版七年级初一数学:期中考试初一数学试卷及答案
- 部编版三年级上册教材解读及教学建议课件
- 叉车日常检查维护记录
- DID双重差分法
- 如何让你的标书评审专家青睐
- 人工智能中的搜索问题36
- GB∕T 5273-2016 高压电器端子尺寸标准化(高清版)
评论
0/150
提交评论