(完整word版)航空公司订票系统

合集下载

飞机订票系统完整版

飞机订票系统完整版

C语言程序设计课程设计报告设计题目:飞机订票系统设计专业微电子班级微电子0122学生姓名苗珠环学号3120433049指导教师张如亮2012 年秋季学期一、总体设计1.程序的总体设计2. 数据结构3. 函数原型声明二、详细设计三、测试及调试(测试方案、存在的问题及解决方法)四、小结附件:主要源程序代码C++#include <stdio.h>#include <conio.h>struct Plane{int p[20][4];};int main(){int i, j, row, num, flag = false;char ch,n,name[30],id[25];Plane plane1;for (i=0;i<20;i++)for (j=0;j<4;j++)plane1.p[i][j] = false; // 初始化所有位置为空printf("\t\t========飞机订票系统=======\t\t\n\n"); printf("\t\t本飞机现在还有如下空位:\t\t\n\n"); printf("\t\tA和D靠窗\t\t\n\n");for (i=0;i<20;i++){if (i==18)printf("\n\t\t********以下为吸烟区*******\t\t\n\n"); printf("\t\t");for (j=0;j<4;j++){if (plane1.p[i][j] == false)printf("%d%c\t",i+1,j+65);else printf(" \t");}printf("\n");}do{printf("\t\t有您满意的座位吗?(y/n) ");scanf("%c",&ch);} while (ch != 'y' && ch != 'Y' &&ch != 'n' && ch != 'N');if (ch == 'y' || ch == 'Y'){do{printf("\t\t请输入您满意的座位排数及编号:(如10D)\n\t\t"); scanf("%d%c",&row,&n);num = (int)(n-65);if (plane1.p[row-1][num] == true){printf("\t\t对不起,此座位已出售!请重新选择!\n");flag = true;}} while (row<1||row>20||n<'A'||n>'D'||flag == true);plane1.p[row-1][num] = true;printf("\t\t请输入您的姓名:");scanf("%s",name);printf("\t\t请输入您的身份证号:");scanf("%s",id);printf("\t\t恭喜您,订票成功!\n");printf("\t\t您的信息:\n");printf("\t\t姓名:%s\n",name);printf("\t\t身份证号:%s\n",id);printf("\t\t座位:%d%c\n",row,n);printf("\t\t祝您旅途愉快!");}else printf("\t\t对不起,请您选择另一航班!");getch();return 0;C语言#include <stdio.h>#include <conio.h>#define FALSE 0#define TRUE 1struct Plane{int p[20][4];};int main(){int i, j, row, num, flag = FALSE;char ch,n,name[30],id[25];struct Plane plane1;for (i=0;i<20;i++)for (j=0;j<4;j++)plane1.p[i][j] = FALSE; // 初始化所有位置为空printf("\t\t========飞机订票系统=======\t\t\n\n"); printf("\t\t本飞机现在还有如下空位:\t\t\n\n"); printf("\t\tA和D靠窗\t\t\n\n");for (i=0;i<20;i++){if (i==18)printf("\n\t\t********以下为吸烟区*******\t\t\n\n"); printf("\t\t");for (j=0;j<4;j++){if (plane1.p[i][j] == FALSE)printf("%d%c\t",i+1,j+65);else printf(" \t");}printf("\n");}do{printf("\t\t有您满意的座位吗?(y/n) ");scanf("%c",&ch);} while (ch != 'y' && ch != 'Y' &&ch != 'n' && ch != 'N');if (ch == 'y' || ch == 'Y'){do{printf("\t\t请输入您满意的座位排数及编号:(如10D)\n\t\t"); scanf("%d%c",&row,&n);num = (int)(n-65);if (plane1.p[row-1][num] == TRUE){printf("\t\t对不起,此座位已出售!请重新选择!\n");flag = TRUE;}} while (row<1||row>20||n<'A'||n>'D'||flag == TRUE);plane1.p[row-1][num] = TRUE;printf("\t\t请输入您的姓名: ");scanf("%s",name);printf("\t\t请输入您的身份证号: ");scanf("%s",id);printf("\t\t恭喜您,订票成功!\n");printf("\t\t您的信息:\n");printf("\t\t姓名: %s\n",name);printf("\t\t身份证号: %s\n",id);printf("\t\t座位: %d%c\n",row,n);printf("\t\t祝您旅途愉快!");}else printf("\t\t对不起,请您选择另一航班!");getch();return 0;}elseif(sel==2)printf("\t\t成功退出该系统.\n");elseprintf("输入0返回主菜单\n");getch();a=getch();if(a==0)main();}#include <stdio.h>#include <conio.h>#define FALSE 0#define TRUE 1struct Plane{int p[20][4];};int main(){int i, j, row, num,sel,a,flag = FALSE;char ch,n,name[30],id[25];struct Plane plane1;printf("\t\t========飞机订票系统========\t\t\n\n");printf("\t\t=======1--进入订票系统======\t\t\n\n");printf("\t\t=========2--退出系统========\t\t\n\n");printf("\n\n\n\t\t\t请输入选择: ");scanf("%d",&sel);if(sel==1){for (i=0;i<20;i++)for (j=0;j<4;j++)plane1.p[i][j] = FALSE; // 初始化所有位置为空printf("\t\t========飞机订票系统=======\t\t\n\n");printf("\t\t本飞机现在还有如下空位:\t\t\n\n");printf("\t\tA和D靠窗\t\t\n\n");for (i=0;i<20;i++){if (i==18)printf("\n\t\t********以下为吸烟区*******\t\t\n\n");printf("\t\t");for (j=0;j<4;j++){if (plane1.p[i][j] == FALSE)printf("%d%c\t",i+1,j+65);elseprintf(" \t");}printf("\n");}do{printf("\t\t有您满意的座位吗?(y/n) ");scanf("%c",&ch);}while (ch != 'y' && ch != 'Y' &&ch != 'n' && ch != 'N');if(ch == 'y' || ch == 'Y'){do{printf("\t\t请输入您满意的座位排数及编号:(如10D)\n\t\t");scanf("%d%c",&row,&n);num = (int)(n-65);if (plane1.p[row-1][num] == TRUE){printf("\t\t对不起,此座位已出售!请重新选择!\n");flag = TRUE;}} while (row<1||row>20||n<'A'||n>'D'||flag == TRUE);plane1.p[row-1][num] = TRUE;printf("\t\t请输入您的姓名: ");scanf("%s",name);printf("\t\t请输入您的身份证号: ");scanf("%s",id);printf("\t\t恭喜您,订票成功!\n");printf("\t\t您的信息:\n");printf("\t\t姓名: %s\n",name);printf("\t\t身份证号: %s\n",id);printf("\t\t座位: %d%c\n",row,n);printf("\t\t祝您旅途愉快!");}elseprintf("\t\t对不起,请您选择另一航班!");getch();return 0;}elseif(sel==2)printf("\t\t成功退出该系统.\n");}。

(完整word版)航空公司订票系统

(完整word版)航空公司订票系统

数据结构与算法设计课程设计【设计题目】航空公司订票系统【问题描述】编写一个咸阳航空公司订票大厅的一个订票系统,可以在系统中录入并修改各个航班的具体情况,帮助乘客准确的查询各航班的最新信息(包括航班号、航班的起始时间和地点、票价)和各项业务的及时办理(包括订票、退票等)。

该系统用可以用C++的类编写。

【软件功能】1.输入航班信息并保存到磁盘2.浏览航班信息3.修改航班信息并保存到磁盘4.查找航班5.删除航班信息6.订票7.退票【算法思想】1先定义一个乘客基本信息的类包含乘客的姓名、证件号、订票数量及所乘的航班号(注:每个航班有固定的人数限制,若满额则提示其他可供选择的航班。

2建立一个功能类,包括对航班信息和乘客订票信息的录入及修改的函数,其中订票信息采用单链表的顺序存储方式存储。

另外还包括对信息的查询和修改的功能函数,乘客退票的函数。

并将最终的改动结果通过i/O流写入磁盘文件保存。

3编写主函数,对编写的航班系统进行全面测试,对用户界面采用人性化的菜单方式。

【类的设计】定义一个航班的类class plane{friend class customer;//友元类public:void input(); //插入航班信息void print(); //打印航班信息void save(); //保存航班信息void read(); //读取航班信息void search(); //查找航班信息void Delete(); //删除航班信息void book(); //订票void back(); //退票void xiugai(); //修改航班信息private:int num;//航班号char start_place[20];//起点站char arrive_place[20];//终点站char time[10];//起降时间int count;//机票数量}];定义一个顾客信息的类class customer{friend class plane;//友元类protected:I nt id;//身份证号char name[10];//姓名int customer_num;//订票数量public:void read1();//读取数据void save1();//保存数据};【存储结构设计】采用顺序存储结构,利用动态申请空间实现信息的存储。

航空售票管理系统

航空售票管理系统

航空售票管理系统(总33页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--摘要伴随着经济的不断发展,必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求,这就要求航空公司要有一套好的售票数据库系统。

一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。

面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。

对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。

航空售票管理系统主要采用Delphi 做为开发工具,进行开发与设计的。

本系统的使用界面具有十分人性化的特征,具有方便的查询功能,对售票、网上订票等方面的操作应简单易行,并且能够具有较好的稳定性。

关键词: 航空;售票;网上订票;管理系统;数据库;SQL语言。

目录1.开发一个航空售票管理系统的背景和意义 .................................... 错误!未定义书签。

. 传统售票方式的回顾和特点分析 ................................................ 错误!未定义书签。

. 航空售票管理系统的应用现状和前景展望 ................................ 错误!未定义书签。

2.用计算机开发一个航空售票管理系统的可行性分析 ............... 错误!未定义书签。

. 技术可行性 .................................................................................... 错误!未定义书签。

. 经济可行性 .................................................................................... 错误!未定义书签。

(完整word版)飞机订票系统

(完整word版)飞机订票系统

课程设计任务书目录1 前言 (1)2 需求分析 (1)2.1要求 (1)2.2任务 (1)2.3运行环境 (1)2.4开发工具 (1)3 概要设计 (2)3.1系统流程图 (2)3.2查询函数流程图 (3)4 详细设计 (3)5 改进或增加功能模块说明 (11)6 程序测试 (11)7 课程设计总结 (13)8 参考文献 (13)9 致谢 (13)10 源程序 (13)飞机订票系统1 前言编写一个程序来完成航班订票。

通过程序来完成航班信息录入功能(航班信息用文件保存) ,其中包括航班号、起始站、重点站、机票数等;航班信息浏览功能;按航班号排序;查询航线:按航班号查询;承办订票和退票业务。

2 需求分析2.1要求(1)用C语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。

2.2任务(1)定义一个结构体类型数组,包括航班号,起点站,终点站,机票数等;(2)输入航班号进行查询;(3)画出部分模块的流程图;(4)编写代码;(5)程序分析与调试。

2.3运行环境(1)WINDOWS2000/XP系统(2)C++6.0编译环境2.4开发工具C语言3 概要设计3.1系统流程图3.2查询函数流程图4 详细设计在程序的开头部分定义了结构替类型,用来存放按钮信息数据文件 是否存在输入航班信息并建立新数据文件保存下来从已有的数据文件读取已有的航班信息Y初始化结束 N通过这些为形成整个界面提供了大的前提。

struct airline *start;struct airline air[MAXSIZE]={{"beijing", "1", "B8571", "SUN", 3, 1},{"shanghai","2","S1002","MON",2,5},{"london","3","L1003","FRI",1,3}};;void display(struct airline *info){printf("%8s\t%3s\t%s\t%4s\t\%d\t\%d\t\n",info->ter_name,info->air_num,info->plane_num,inf o->date,info->tkt_amt,info->tkt_sur);}/* 浏览航线信息函数*/void list(){struct airline *info;int i = 0;info = start;printf("终点站名\t航班号\t飞机号\t飞行日期" "乘员定额" "余票量\n");while(i < MAXSIZE){display(info);info++;i++;}printf("\n\n");}void search(){struct airline *info,*find();char name[10];int i=0;info=start;printf("请输入终点站名:");scanf("%s",name);while(i<MAXSIZE){if(!strcmp(name,info->ter_name)) break;info++;i++;}if(i>=MAXSIZE)printf("对不起,该航线未找到!\n");else{printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n"); display(info);}}struct airline *find(){struct airline *info;char number[10];int i=0;info=start;printf("请输入航班号:");scanf("%s",number);while(i<MAXSIZE){if(!strcmp(number,info->air_num)) return info;info++;i++;}printf("对不起,该航线末找到!\n");return NULL;}/* 浏览已订票客户信息*/void prtlink(){linklist *p;struct airline *info;info=find();p=info->order;if(p!=NULL){printf("客户姓名订票数额舱位等级\n");while(p){printf("%s\t\t%d\t%d\n",p->name,p->ord_amt,p->grade);p=p->next;}}elseprintf("该航线没有客户信息!!\n");}linklist *insertlink(linklist *head,int amount,char name[],int grade){ linklist *p1,*new1;p1=head;new1=(linklist *)malloc(sizeof(linklist));if(!new1) {printf("\nOut of memory!!\n");return NULL;}strcpy(new1->name,name);new1->ord_amt=amount;new1->grade=grade;new1->next=NULL;if(head==NULL){head=new1;new1->next=NULL;}elsehead=new1;new1->next=p1;return head;}linkqueue appendqueue(linkqueue q,char name[],int amount){ qptr new1;new1=(qptr)malloc(sizeof(qnode));strcpy(new1->name,name);new1->req_amt=amount;new1->next=NULL;if(q.front==NULL)q.front=new1;elseq.rear->next=new1;q.rear=new1;return q;}void order(){ struct airline *info;int amount,grade;char name[10];info=start;if(!(info=find())) return;printf("请输入你订票所需要的数量:");scanf("%d",&amount);if(amount>info->tkt_amt){ printf("\n对不起,您输入的票的数量已经超过乘员定额!"); return;}if(amount<=info->tkt_sur){int i;printf("请输入您的姓名(订票客户):");scanf("%s",name);printf("请输入%s票的舱位等级:",name);scanf("%d",&grade);info->order=insertlink(info->order,amount,name,grade);for(i=0;i<amount;i++)printf("%s的座位号是:%d\n",name,info->tkt_amt-info->tkt_sur+i+1); info->tkt_sur-=amount;printf("\n祝您乘坐愉快!\n");}else{ char r;printf("\n已经没有更多的票,您需要排队等候吗?(Y/N)"); //r=getch();//printf("%c",r);scanf ( "回车继续等待%c", &r );if(r=='Y'||r=='y'){ printf("\n请输入您的姓名(排队订票客户):");scanf("%s",name);info->wait=appendqueue(info->wait,name,amount); printf("\n注册成功!\n");}else printf("\n欢迎您下次再次订购!\n");}}void return_tkt(){ struct airline *info;qnode *t,*back,*f,*r;int grade;linklist *p1,*p2,*head;char cusname[10];if(!(info=find())) return;head=info->order;p1=head;printf("请输入你的姓名(退票客户):");scanf("%s",cusname);while(p1!=NULL) {if(!strcmp(cusname,p1->name)) break;p2=p1;p1=p1->next;}if(p1==NULL){ printf("对不起,你没有订过票!\n");return;} else{if(p1==head) head=p1->next;else p2->next=p1->next;info->tkt_sur+=p1->ord_amt;grade=p1->grade;printf("%s成功退票!\n",p1->name);free(p1);}info->order=head;f=(info->wait).front;r=(info->wait).rear;t=f;while(t){if((info->tkt_sur = info->wait.front->req_amt)){int i;info->wait.front=t->next;printf("%s订票成功!\n",t->name);for(i=0;i<t->req_amt;i++)printf("%s的座位号是:%d\n",t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade); free(t);break;}back=t;t=t->next;if((info->tkt_sur)>=(t->req_amt)&&t!=NULL){ int i;back->next=t->next;printf("%s订票成功!\n",t->name);for(i=0;i<t->req_amt;i++)printf("<%s>'s seat number is:%d\n",t->name,(info->tkt_sur)-i); info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade); free(t);break;}if(f==r) break;}}void sort_tkt(){int j;struct airline t,*info,*p,*q;p=info=air;for(p=info;(p+1)->tkt_sur;p++)for(q=p+1;q->tkt_sur;q++){if(p->tkt_sur<q->tkt_sur){t=*p;*p=*q;*q=t;}}printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n"); for(j=0;j<MAXSIZE;j++){display(info);info++;}}int menu_select(){int c;char s[20];printf("\n\t\t 航空客运订票系统(by zjhxmjl)\n");printf(" ******************************************\n");printf(" ** 1.浏览航线信息**\n");printf(" ** 2.浏览已订票客户信息**\n");printf(" ** 3.查询航线**\n");printf(" ** 4.办理订票业务**\n");printf(" ** 5.办理退票业务**\n");printf(" ** 6.查看剩余票数并排序**\n");printf(" ** 0.退出系统**\n");printf(" *******************************************\n");do{printf("请选择:");scanf("%s",s);c = atoi(s); /* atoi将字符串转换为整型*/}while(c < 0||c > 7);return c;}int main(){start = air;for(;;){switch(menu_select()){case 1:list();break;case 2:prtlink();break;case 3:search();break;case 4:order();break;case 5:return_tkt();break;case 6:sort_tkt();break;case 0:printf("\n欢迎使用本系统,再见!\n");exit(0);}printf("\nPress any key to continue!\n");getchar();}return 0;}通过调用上面定义的函数实现了飞机订票整个功能。

中航信订座系统SSR DOCSDOCADOCO指令操作指南Microsoft Word 文档

中航信订座系统SSR DOCSDOCADOCO指令操作指南Microsoft Word 文档

中航信订座系统SSR DOCS/DOCA/DOCO指令操作指南一、指令功能SSR DOCS:输入旅客的护照等证件信息SSR DOCA:输入旅客的居住地以及目的地地址信息SSR DOCO:输入旅客的其他相关信息,如签证信息等二、SSR DOCS/DOCO/DOCA指令输入格式:所有输入,如果有缺失的可选项,必须输入“/”表示该项缺失,如果该项位于输入的最后,可以不输入“/”,系统会自动将“/”补上。

以下分别对DOCS/DOCO/DOCA的格式进行说明:有下划线的部分为必输项,其余为可选项。

注:本格式说明参照AIRIMP制定,具体的必输或选输项请参照相关标准及离港要求。

(一)DOCS指令格式:SSR DOCS 航空公司代码 Action-Code 1 证件类型/发证国家/证件号码/国籍/出生日期/性别/证件有效期限/SURNAME/FIRST-NAME/MID-NAME/持有人标识H/P1说明:类型说明exampleSSR3A指令标识SSRDOCS4ASSR Service Type,用于输入证件信息DOCS航空公司代码2AN或3A航空公司代码MUAction-Code2AAction Code,这里,只能允许输入“HK”这一种Action CodeHK11nNumber in party,只能输11证件类型1-2A包括:F —Approved non-standard identity documents used for travel (as defined by t he issuing Country/State)AC —Crew Member CertificateA, C, I —Identity Card (as defined by the issuing Country/State)IP —Passport CardP —Passenger PassportP发证国家1-3A证件签发的国家或者州代码USA证件号码1-15AN证件的号码P1*******国籍1-3A旅客的国籍,代码USA出生日期7ANDDMMMYY格式10MAY79性别1-2AF -- Female女M -- Male男FI -- Female Infant 婴儿,女MI -- Male Infant 婴儿,男U -- Undisclosed Gender 未知说明:必须先有XN:输入婴儿信息之后才能输入FI/MIF证件有效期限7ANDDMMMYY格式10MAY10Surname1-30A姓,需要与护照上的一致,(有扫描区的以扫描区为准)STEVENSONFirst given name1-30A名字,需要与护照上的一致,(有扫描区的以扫描区为准)JOHNSecond given name1-30A需要与护照上的一致,(有扫描区的以扫描区为准),可选RICHARDH1AMuti-passenger passport, 护照持有者标识,可选HPSGR-IDPn旅客标识,用P1,P2等表示。

飞机订票系统完整版

飞机订票系统完整版

飞机订票系统标准化管理处编码[BBX968T-XBB8968-NNJ668-MM9N]商学院课程设计报告课程名称 c语言程序设计题目名称飞机订票系统学生学院商学院专业班级信息管理与信息系统_学号 ____ __ __ _学生姓名______ _____ ____完成日期2014年月日目录1. 设计目的与要求 (3)1.1 题目与设计要求 (3)1.2 本程序涉及的知识点 (3)2.功能设计 (3)2.1总体设计 (3)2.2详细设计 (3)3. 程序实现 (4)3.1程序实现时应考虑的问题 (4)3.2 模块代码 (4)4.测试分析 (14)4.1 测试结果及分析 (14)5.总结 (16)参考文献 (16)1.设计目的与要求1.1 题目与设计要求题目:飞机订票系统设计设计要求:本程序首先输入机票信息,管理员在保存功能中通过密码验证输入机票信息,可以对机票信息进行查询;修改;删除等功能。

一般用户可以使用订票;显示;退票等功能,在订票时用户输入密码在退票时通过验证后成功退票。

假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员订额。

设计一个飞机订票系统,使之能提供下列服务:1、航班信息录入功能(航班信息用文件保存)包括航班号、起始站、重点站、机票数等;2、航班信息浏览功能4、查询航线:按航班号查询1.2 本程序涉及的知识点运用了access函数判断文件是否存在。

系统初始化后,没有寻找到数据文件,则进行新建数据文件,此函数的作用就是进行新建文件数据的录入。

运用到了文件指针的定义FILE *fp,文件的打开fopen和关闭fclose、成块读写函数中的fwrite;运用for循环进行各组数据的输入,用m++记录下输入的航班数量,并运用if语句判断是否输入下一条航班信息,若不继续则返回主界面。

系统初始化之后,若原始数据文件存在,则进行文件内航班信息的读取,以供接下来程序中的各个函数来使用。

飞机订票系统

飞机订票系统

订票系统1. 需求分析任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2:主要设计思路:1)算法构造流程图:A:主菜单:B:各分块模板的构造流程图:显示这个航班的的信息4.3:功能函数设计:( 1):订票系统主菜单函数menu_select()本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。

其实就是通过键盘输入选择项,然后通过scanf 接受,在通过swtich 判断进入各个选择(2):工作人员管理函数enter()&change ()系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。

enter ()函数的构造就是为了解决这个问题。

而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。

(3):列出航班信息的函数list ()乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。

(4)乘客具体查询函数search()本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。

航空订票系统文档

航空订票系统文档

HHHH大学航空订票系统(Airline Reservation System)姓名:AAA(项目经理)BBB、CCC、DDDEEE、FFF专业:软件工程指导老师:GGG目录一、可行性研究报告1、报告编写目的2、项目概述--------------------------------------------------------(主要负责人:EEE)2.1、项目背景2.2、项目意义2.3、项目目标2.4、项目用途3、技术可行性-----------------------------------(主要负责人:FFF)3.1、可行性因素3.2、技术条件3.3、用户使用可行性3.4、系统可行性简要描述3.5、系统可行性处理流程二、项目开发计划----------------------------------(主要负责人:AAA)1、工作内容2、主要参与人员3、产品3.1、软件包3.2、设计文档3.3、软件操作手册3.4、服务4、完成项目的期限5、项目的计划进度表6、实施计划6.1、工作任务的分解与人员的分工三、需求规格说明书--------------------------------(主要负责人:AAA)1、用户需求2、功能性需求2.1、运行环境2.2、系统层次结构图2.2.1、航空机票预订网站2.2.2、航空订票管理系统3、非功能性需求3.1、性能需求3.2、安全性需求3.3、可靠性和可用性需求3.4、出错处理需求3.5、接口需求3.6、约束3.7、逆向需求3.8、将来可能提出的要求4、其他需求四、概要设计说明书--------------------------------(负责人:所有人)1、总体设计1.1、总体结构设计1.2、运行环境设计1.3、功能模块清单设计2、模块(部件)清单设计2.1、公用模块功能分配2.2、专用模块功能分配3、数据结构设计3.1、数据库表名清单3.2、数据库表之间关系说明3.3、数据库表的详细清单4、接口设计五、详细设计说明书--------------------------------(负责人:所有人)1、模块实现设计1.1、公用模块设计1.2、专用模块设计2、接口实现设计六、数据库设计说明书------------------------------(主要负责人:AAA)1、数据库结构设计2、数据库的安全保密性设计3、数据库优化4、数据库源代码七、测试计划--------------------------------------(负责人:所有人)1、单元测试2、功能测试八、测试分析报告----------------------------------(主要负责人:AAA)1、测试计划执行情况2、软件需求测试结论九、项目开发总结报告------------------------------(负责人:所有人)AAABBBCCCDDDEEEFFF十、系统源程序------------------------------------(负责人:所有人)十一、操作手册------------------------------------(负责人:所有人)一、可行性研究报告1、报告编写目的可行性研究的目的是为了对问题进行研究,以最小的代价在最短的时间内确定问题是否可解。

中国民航订座系统操作手册

中国民航订座系统操作手册

第一章中国民航代理人分销系统简介中国民航信息网络股份有限公司(简称中国航信)建成以中国民航商务数据网络为依托,订座系统[包括代理人分销系统(CRS )和航空公司系(ICS )]、离港系统、货运系统三个大型主机系统为支柱的发展格局。

主机系统已发展成为中国最大的主机系统集群,担负着中国民航(包括国内所有航空公司)重要的信息处理业务。

代理人分销业务开展目的:●为航空代理商提供全球航空航班的分销功能●为代理商提供非航空旅游产品的分销功能●为代理商提供准确的销售数据与相关辅助决策分析结果代理人分销系统规模●自1995年独立运行以来,到目前为止,代理人分销系统业务遍布中国境内296个通航城市,58个境外城市,拥有代理商5300 多个,终端2 万余台,合格上岗从业人员约5 万人。

●目前该系统可以协议分销中国民航所有航空公司、非中国民航373 家航空公司的航线航班(其中13 家直接联结,360 家间接联结)。

●在非航空旅游产品的分销方面,目前有297个酒店、1个租车公司,2个大型旅行社可以通过该系统进行分销。

●在订座系统处理的所有旅客中,约75%左右是通过该分销系统销售实现的,另外25%左右则是通过航空公司系统实现的。

代理人分销系统提供的服务●中国民航航班座位分销服务●国外民航航班座位分销服务● BSP 自动出票系统服务●运价系统服务●常旅客系统服务●机上座位预订服务●各类等级的外航航班分销服务●旅馆订房等非航空旅游产品分销服务●旅游信息查询(TIM)系统服务●订座数据统计与辅助决策分析服务通过未来对代理人分销系统的建设,中国航信的代理人分销系统将发展成为服务于整个航空及旅游业的一个通用系统。

除了原有的航空运输业外,旅馆、租车、旅游公司、铁路公司、游轮公司等的产品分销功能也将容纳到代理人分销系统中来,使中国航信的代理人分销系统能够提供一套完整的旅游服务。

经过技术与商务的不断发展,中国航信的代理人分销系统将能够为旅行者提供及时、准确、全面的信息服务,满足消费者旅行中包括交通、住宿、娱乐、支付及其它后继服务的全面需求。

航班订票系统项目文档

航班订票系统项目文档

航班订票系统项目文档XX航空公司国内机票售票系统项目文档项目描述:我们要为某航空公司开发一套国内机票售票系统,要求能通过分布在全国各主要城市的该航空公司的营业网点为顾客提供航班查询,购买机票以及退票的服务。

该系统的工作流程如下:当顾客到达营业网点后向航空公司营业员提供出发地,目的地和出发日期,营业员根据以上信息,操作软件,连接航空公司的服务器,查询满足条件的航班,然后根据顾客的要求选择某个航班,输入乘客信息,以及舱位信息,然后执行出票操作。

该系统在营业网点内能够完成营业员登录,查询航班,出票等功能;在航空公司内部能够完成添加或删除航班,添加或删除营业网点,添加或删除营业员等功能。

除此之外,该系统还要求能统计每个营业网点的业务量,以及每位营业员的工作量,并将这些信息保存在服务器端,并能在服务器端随时查询。

术语表:航班计划(Flight Scheduler):用来描述由某个航空公司执行的某个定期航班的计划表。

例如:由中国国际航空公司执行的每天早上8:00从北京起飞,上午10:00到达上海的CA1202就是一个航班计划。

属性:航班号,起始日期,结束日期,出发地,目的地,离港时间,到港时间,里程,飞机机型,班期,基准票价。

航班(Flight):用来描述在某个确定日期执行某个定期航班计划的一次航班。

例如:2008年5月25日从北京飞上海的CA1202就是一个航班的实例。

属性:航班计划,出发日期,各舱剩余座位数,折扣。

起始日期(Start Date):用来描述某个航班计划开始的日期。

结束日期(End Date):用来描述某个航班计划结束的日期。

营业网点(Branch):用来描述航空公司的某个分支机构,该机构能使用该系统为顾客提供查询航班和出票的服务。

营业网点通过若干台终端机器与航空公司的服务器相连,属性:编号,名称,地址,电话。

营业员(Sales):用来描述在营业网点操作该系统的操作人员,每个营业员必须凭姓名和密码登录系统后才能为顾客提供服务,同时在服务器端要记录每个营业员的工作时间及业务量。

航空机票预订系统文档

航空机票预订系统文档

XX学院软件工程实验报告专业:班级:学号:姓名:指导老师:目录航空订票系统项目开发计划 (7)1.项目代码 (7)2.项目背景 (7)3.项目功能 (7)4.项目设计 (7)5.项目测试 (8)6.项目风险分析 (8)7.项目任务分配 (8)8.项目开发时间计划 (8)9.项目资源需求 (9)航空订票系统可行性分析说明书 (10)1引言 (10)1.1编写目的 (10)1.2背景 (10)1.3定义 (10)1.4参考资料 (10)2可行性研究的前提 (11)2.1要求 (11)2.2目标 (11)2.3条件、假定和限制 (12)2.4进行可行性研究的方法 (12)2.5评价尺度 (12)3对现有的系统的分析 (12)3.1当前系统的处理流程和数据流程 (12)3.2工作负荷 (13)3.3人员 (13)3.4局限性 (13)4建议的新系统 (13)4.1对新系统的说明 (13)4.2新系统的数据流程和处理流程 (14)4.3改进 (16)4.4新系统的影响 (16)航空订票系统可行性分析报告说明书 (18)引言 (18)1.1编写目的 (18)1.2项目背景 (18)1.3定义 (18)2. 任务概述 (19)2.1 目标 (19)2.2运行环境 (19)2.3条件与限制 (19)3. 数据描述 (20)3.1数据需求 (20)3.2数据库介绍 (21)3.3数据管理能力要求 (22)3.4故障处理要求 (22)3.5其他专门要求 (22)功能需求 (22)4.1功能划分 (22)4.2功能描述 (23)性能需求 (24)5.1准确性和及时性 (24)5.2开放性和可扩充性 (24)5.3易用性和易维护性 (25)5.4标准性 (25)5.5先进性 (25)5.6响应速度快 (25)运行需求 (26)6.1用户接口 (26)6.2外部接口 (26)6.3故障处理 (26)其他需求 (27)7.1管理员信息 (27)7.2管理员界面 (27)航空机票预订系统概要设计及详细设计说明书 (28)1引言 (28)1.1编写目的 (28)1.2背景 (28)1.3定义 (29)1.4参考资料 (29)2程序系统的结构 (30)3 各功能详细描述: (30)3.1主界面模块 (31)3.1.2输出项 (32)3.1.3 算法 (32)3.1.4 流程逻辑 (33)3.1.5 测试计划 (33)3.2航班管理模块 (33)3.2.1 程序描述 (33)3.2.2 输人项 (33)3.2.3 输出项 (34)3.2.4 算法 (34)3.2.5 流程逻辑 (35)3.2.6 测试计划 (36)3.3.用户管理模块 (36)3.3.1 程序描述 (36)3.3.2 输人项 (37)3.3.3 输出项 (37)3.3.4 流程逻辑 (38)3.3.5 测试计划 (39)3.4管理员模块 (39)3.4.1 程序描述 (39)3.4.2 输人项 (39)3.4.3 输出项 (40)3.4.4 算法 (40)3.4.5 流程逻辑 (41)3.4.6 测试计划 (41)3.5查询机票模块 (42)3.5.1 程序描述 (42)3.5.2 输人项 (42)3.5.3 输出项 (42)3.5.4 算法 (43)3.5.5 流程逻辑 (44)3.5.6 测试计划 (44)3.6取票模块 (44)3.6.1 程序描述 (44)3.6.2 输人项 (45)3.6.3 输出项 (45)3.6.4 算法 (45)3.6.5 流程逻辑 (46)3.6.6 测试计划 (46)3.7旅客管理模块 (46)3.7.1 程序描述 (46)3.7.2 输人项 (47)3.7.3 输出项 (47)3.7.4 算法 (48)3.7.6 测试计划 (48)3.8旅行社模块 (48)航空机票预订系统软件编码和测试说明书 (49)1引言 (49)1.1编写目的 (49)1.2背景 (49)1.3定义 (50)1.4参考资料 (50)2 各模块的实现: (50)2.1主界面模块 (52)3.1.1 输人项 (52)3.1.2输出项 (52)3.1.3 算法 (52)3.1.4 流程逻辑 (53)3.1.5 测试用例 (53)3.2航班管理模块 (53)3.2.1 程序描述 (53)3.2.2 输人项 (54)3.2.3 输出项 (54)3.2.4 算法 (54)3.2.5 流程逻辑 (56)3.2.6 测试用例 (56)3.3.用户管理模块 (56)3.3.1 程序描述 (56)3.3.2 输人项 (57)3.3.3 输出项 (57)3.3.4 流程逻辑 (58)3.3.5 测试计划 (60)3.3.6 测试用例 (60)3.4管理员模块 (60)3.4.1 程序描述 (60)3.4.2 输人项 (60)3.4.3 输出项 (61)3.4.4 算法 (61)3.4.5 流程逻辑 (62)3.4.6 测试计划 (62)3.4.7 测试用例 (63)3.5查询机票模块 (63)3.5.1 程序描述 (63)3.5.2 输人项 (63)3.5.3 输出项 (64)3.5.5 流程逻辑 (65)3.5.6 测试计划 (65)3.5.7 测试用例 (65)3.6取票模块 (66)3.6.1 程序描述 (66)3.6.2 输人项 (66)3.6.3 输出项 (66)3.6.4 算法 (66)3.6.5 流程逻辑 (67)3.6.6 测试计划 (67)3.6.7 测试用例 (67)3.7旅客管理模块 (68)3.7.1 程序描述 (68)3.7.2 输人项 (68)3.7.3 输出项 (69)3.7.4 算法 (69)3.7.5 流程逻辑 (70)3.7.6 测试计划 (70)3.7.7 测试用例 (70)3.8旅行社模块 (70)3 编码和界面设计 (71)4 程序代码 (72)航空订票系统面向对象分析说明书 (83)1、用例图: (83)2、类图: (84)3、顺序图: (85)4、活动图: (86)航空订票系统项目开发计划1. 项目代码TBS_12. 项目背景应某航空公司要求,为提高该公司的机票预订效率,降低工作的人力、物力、开支,提高工作的准确性,方便旅客进行机票预订,并对其机票预订信息和旅客信息进行信息存取,现为其开发机票预订系统。

(完整word版)飞机订票管理系统(word文档良心出品)

(完整word版)飞机订票管理系统(word文档良心出品)

飞机订票管理系统需求分析报告题目:飞机订票系统的设计与实现院(系):软件学院专业:软件工程小组成员:学号:指导老师:目录1 引言 (1)1.1 编写目的 (1)1.2 范围 (1)1.3 定义 (1)1.4 参考资料 (1)2 总体设计 (2)2.1 运行环境 (2)2.2 基本设计概念和处理流程 (2)2.3 数据字典 (5)2.4 功能需求与程序的关系 (6)3 程序设计 (7)3.1 登录注册 (7)3.1.1界面设计 (7)3.1.2 模块设计 (7)3.1.3 程序流程图 (9)3.1.4 算法 (10)3.2 机票查询 (10)3.2.1 界面设计 (10)3.2.2 模块设计 (11)3.2.3 程序流程图 (12)3.2.4 算法 (12)3.3 机票预订 (13)3.3.1 模块设计 (13)3.3.2 程序流程图 (14)3.4机票信息修改 (14)3.4.1 模块设计 (14)3.4.2 程序流程图 (16)3.4.3 算法 (16)3.5 个人中心 (17)3.5.1 界面设计 (17)3.5.2 模块设计 (17)4 接口设计 (18)4.1 用户接口 (18)4.2 软件接口 (18)5 运行设计 (19)5.1 运行控制 (19)6 系统数据结构设计 (20)6.1 实体关系E——R图 (20)6.2 表汇总 (20)6.3 数据结构与程序的关系 (24)7 系统出错处理设计 (24)7.1 出错信息 (24)7.2 补救措施 (25)7.3 系统维护设计 (25)8 测试 (25)8.1测试范围 (25)8.2 测试方法 (25)1 引言1.1 编写目的本说明书是在充分理解系统需求分析基础上,为详细设计及编码设计准备的。

是详细设计和系统编码的根据,同时也是与用户进行交流的文档之一。

本文档的读者为系统用户,软件设计师(详细设计),程序开发员,测试人员,售后技术支持人员等。

(完整word版)飞机订票系统

(完整word版)飞机订票系统

课程设计任务书目录1 前言 (1)2 需求分析 (1)2.1要求 (1)2。

2任务 (1)2.3运行环境 (1)2。

4开发工具 (1)3 概要设计 (2)3.1系统流程图 (2)3。

2查询函数流程图 (2)4 详细设计 (3)6 程序测试 (17)7 课程设计总结 (18)8 参考文献 (18)9 致谢 (19)10 源程序 (19)飞机订票系统1 前言编写一个程序来完成航班订票.通过程序来完成航班信息录入功能(航班信息用文件保存),其中包括航班号、起始站、重点站、机票数等;航班信息浏览功能;按航班号排序;查询航线:按航班号查询;承办订票和退票业务。

2 需求分析2.1要求(1)用C语言实现程序设计;(2)利用结构体、共用体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;(5)界面友好(良好的人机互交),程序要有注释。

2。

2任务(1)定义一个结构体类型数组,包括航班号,起点站,终点站,机票数等;(2)输入航班号进行查询;(3)画出部分模块的流程图;(4)编写代码;(5)程序分析与调试。

2。

3运行环境(1)WINDOWS2000/XP系统(2)C++6.0编译环境2。

4开发工具C语言3 概要设计3。

1系统流程图3.2查询函数流程图4 详细设计在程序的开头部分定义了结构替类型,用来存放按钮信息通过这些为形成整个界面提供了大的前提.数据文件 是否存在输入航班信息并建立新数据文件保存下来从已有的数据文件读取已有的航班信息Y初始化结束 Nstruct airline *start;struct airline air[MAXSIZE]={{”beijing”,”1”,"B8571","SUN”,3, 1},{"shanghai”,"2”,”S1002",”MON",2,5},{”london”,"3”,"L1003","FRI”,1,3}};;void display(struct airline *info){printf("%8s\t%3s\t%s\t%4s\t\%d\t\%d\t\n”,info-〉ter_name,info->air_num,info—〉plane_num,info-〉date,info—〉tkt_amt,info->tkt_sur);}/* 浏览航线信息函数*/void list(){struct airline *info;int i = 0;info = start;printf("终点站名\t航班号\t飞机号\t飞行日期” ”乘员定额" ”余票量\n”);while(i 〈MAXSIZE){display(info);info++;i++;}printf("\n\n");}void search(){struct airline *info,*find();char name[10];int i=0;info=start;printf(”请输入终点站名:”);scanf(”%s",name);while(i〈MAXSIZE){if(!strcmp(name,info—〉ter_name)) break; info++;i++;}if(i〉=MAXSIZE)printf("对不起,该航线未找到!\n”);else{printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n”);display(info);}}struct airline *find(){struct airline *info;char number[10];int i=0;info=start;printf("请输入航班号:");scanf("%s",number);while(i<MAXSIZE){if(!strcmp(number,info-〉air_num)) return info;info++;i++;}printf(”对不起,该航线末找到!\n");return NULL;}/*浏览已订票客户信息*/void prtlink(){linklist *p;struct airline *info;info=find();p=info-〉order;if(p!=NULL){printf("客户姓名订票数额舱位等级\n”);while(p){printf("%s\t\t%d\t%d\n",p->name,p—>ord_amt,p-〉grade);p=p—〉next;}}elseprintf(”该航线没有客户信息!!\n");}linklist *insertlink(linklist *head,int amount,char name[],int grade){ linklist *p1,*new1;p1=head;new1=(linklist *)malloc(sizeof(linklist));if(!new1){printf(”\nOut of memory!!\n");return NULL;} strcpy(new1—>name,name);new1—〉ord_amt=amount;new1-〉grade=grade;new1->next=NULL;if(head==NULL){head=new1;new1—>next=NULL;}elsehead=new1;new1-〉next=p1;return head;}linkqueue appendqueue(linkqueue q,char name[],int amount){ qptr new1;new1=(qptr)malloc(sizeof(qnode));strcpy(new1-〉name,name);new1—>req_amt=amount;new1—>next=NULL;if(q.front==NULL)q。

航空客运订票系统.doc

航空客运订票系统.doc

课程名称:数据结构湖南涉外经济学院学生课程设计(论文)题目航空客运订票系统姓名周德群学号**************学院信息科学与工程学院专业、年级计科1103指导教师刘琼2012 年12 月1日摘要在现代社会,人们的生活节奏越来越快,如何提高生产生活质量成为人们日益关注的话题。

二十一世纪是一个信息化技术高度发达的时代,信息化技术已经深入社会生活的各个领域。

在当今激烈的市场竞争中,谁掌握着信息的控制权,谁就掌握着主动权,现代企业的竞争就是一个例证。

在现代大型企业中,仅靠人力对企业进行管理不仅效率低下,有时甚至是根本不可能完成的一项任务。

因此,必须借助信息技术的发展,对企业的各项事务实施信息化管理,以提高工作效率和可靠性,这也是建立现代化企业的要求和时代发展的必然趋势。

在现实生活中,人们往往要处理大量的数据。

在这种情况下,利用日趋成熟的计算机技术和数据管理技术进行数据处理十分方便。

各种信息管理软件业随着出现了。

在当今的航空客运服务业发展十分迅速他是当代生活高节奏的一个有力的体现。

在航空服务业中,飞机订票时一项很重要的内容它大大的方便了人们的旅行。

航空定票系统是使用c语言编程技术在vc++6.0集成开发环境下开发的订票系统。

该系统实现了航班管理、订票管理、退票管理以及查询航班等功能。

在航班管理中航空公司内部管理员能在系统中完成添加航班或删除航班、更新航班信息、查看数据库等功能。

乘客能够在系统中完成查询航班、订票办理和退票办理等功能。

乘客可以用多种方式来查询航班信息,也可以根据实际需要来订票(单程、往返、联程)。

系统还能将这些信息保存在数据库中,并供航空公司内部管理员随时查询关键词:航空定票系统,c语言,vc++6.0,栈,队列目录第1章绪论 (1)1.1课题背景及其现实意义 (1)1.1.1 课题背景 (1)1.1.2 课题意义 (1)1.2 国内外研究现状 (2)1.3 本文主要工作和内容安排 (3)1.3.1本文主要工作 (3)1.3.2 论文的组织结构 (3)第2章相关理论技术基础 (4)2.1 Visual C++概述 (4)2.2 信息管理系统 (6)2.2.1 信息管理系统简介 (6)2.2.2 信息管理系统开发过程 (7)第3章航空订票管理系统分析与设计 (9)3.1需求分析 (9)3.1.1课程设计任务及要求 (9)3.1.2课程设计思想及开发环境 (10)3.2系统业务流程分析 (11)3.2.1 总体方案 (11)3.2.2功能模块说明 (11)3.3 详细设计 (12)第4章系统测试 (15)4.1调试与操作说明 (15)4.2时间复杂度分析 (19)4.3 算法的改进设想 (19)第5章课程设计总结与体会 (20)5.1课程设计总结 (20)5.1.1总体过程 (20)5.1.2自己系统分析与设计方法 (20)5.2调试体会 (21)参考文献 (22)附录源代码 (23)第1章绪论1.1课题背景及其现实意义1.1.1 课题背景在信息技术还不是十分发达的时代,人们在要旅行的时,必须到车站或是机场的售票处临时买票,或者提前好几天到离居住地很远的地方事先将票买好。

航空订票系统__航班订票系统

航空订票系统__航班订票系统

一、需求分析..................................3二、程序的主要功能............................3三、程序运行环境..............................3四、系统总枢架图..............................3五、源程序......................................4六、.模块分析...................................9七、运行结果..................................10八、心得体会..................................15一、需求分析随着旅游业的逐渐成熟发展,人民生活水平的提高航空客运量大幅度提高,国内国际的旅游航班增加,这些都对航空的信息管理系统提出了更高的要求,所以要不断完善更新售票系统,提高航空售票系统的工作效率。

二、程序的主要功能1、航线信息:每条航线包括航班号,飞机号,目的地,订票数,余票数,5项现有3条航线:目的地北京,上海,广州。

飞机可乘100人(初始定票数为0,余票数为100)2、订票业务:(1).客户信息包括姓名,航班号,座位号(初始为0),假设已有3个客户信息(2).有新客户订票时,先输入姓名和航班号,查询情况,如果还有余票,就为这个客户办理订票手续,分给客户一个座位号,若无余票,则输出客户已满3、退票业务:根据客户提出的航班号,办理退票,并修改相应的航线的订票数和余票数4、查询业务:输出全部航线的信息和全部客户信息,或某条航班、某个客户信息。

5、退出系统三、程序运行环境Visual c++6.0四、系统总框架图五、源程序#include <iostream>#include<string>#include <fstream>using namespace std;struct flight{int fligh;int num;char place[10];int dticket;int yticket;}fl[10]={{101,01,"北京",1,99},{102,02,"上海",1,99},{103,03,"广州",1,99}};struct customer{char name[10];int seat;int num;}cu[300]={{"毛泽东",01,101},{"周恩来",01,102},{"邓小平",01,103}}; //定义结构体int cnum=3; //定义客户编号void list();void dingpiao();void tuipiao();void chaxun();void chaxun();void chaxunquanbu();void caidan1(); //函数声明void caidan2();void chushi();void main(){cout<<" 欢迎使用航空订票系统"<<endl<<endl;caidan2();} //主函数void caidan1(){int i;cout<<"************* 航空订票系统*************"<<endl; cout<<"******"<<endl; cout<<"*** 1.订票业务 2.退票业务***"<<endl; cout<<"*** 3.查询客户信息 4.查询全部信息***"<<endl; cout<<"*** 5.退出系统***"<<endl; cout<<"*** ***"<<endl; cout<<"*** 如果是第一次使用本系统,请载入初始信息~谢谢~ ***"<<endl; cout<<"*********************************************************"<<endl;ifstream infile1("airline.dat");ifstream infile2("customer.dat");for(i=0;i<3;i++){infile1>>fl[i].fligh>>fl[i].num>>fl[i].place>>fl[i].dticket>>fl[i].yticket;}for(i=0;i<300;i++) {infile2>>cu[i].name>>cu[i].num>>cu[i].seat>>cnum;}infile1.close();infile2.close(); //读取数据cout<<"请输入业务代码:";list();} //菜单1void caidan2(){int t;cout<<"第一次启动本软件请输入1,否则请输入2:";cin>>t;if(t==1)chushi();else caidan1();} //菜单2void chushi(){int i;ofstream outfile("airline.dat");ofstream file("customer.dat");for (i=0;i<3;i++){ outfile<<fl[i].fligh <<" "<<fl[i].num<<" "<<fl[i].place<<" "<<fl[i].dticket<<" "<<fl[i].yticket<<endl;file<<cu[i].name<<" "<<cu[i].num<<" "<<cu[i].seat<<" "<<cnum<<endl;} outfile.close();file.close();cout<<"初始化已完毕!"<<endl<<endl;caidan1();} //存储数据void list(){int a;cin>>a;cout<<endl;switch(a){case 1:dingpiao();break;case 2:tuipiao();break;case 3:chaxun();break;case 4:chaxunquanbu();break;case 5:;break;default:{cout<<"输入错误,请重新输入正确的代码:";list();} //输入代码}}void dingpiao()/////////////////////////////////////////////////////////// 订票{char name[10];int num,i,t,j,k,temp;int x;cout<<"请输入你的姓名和想订的航班号:"<<endl<<endl;cout<<"姓名:";cin>>name;cout<<endl;cout<<"航班号:";cin>>num;for(i=0;i<300;i++)if(strcmp(name,cu[i].name)==0){cout<<"您已经定过航班,要返回主菜单吗?(1.返回/2.退出)";cin>>t;switch(t){case 1:caidan1();break;default :break;}}for(i=0;i<300;i++)if (name!=cu[i].name)for(j=0;j<10;j++)if(fl[j].fligh==num)temp=j;if(fl[temp].yticket<=100) {cout<<"此航班还有余票,要订票吗?(1.是/2.否)";cin>>x;switch(x){case 1: {for (k=0;k<3;k++)if (fl[k].fligh==num){fl[k].dticket=fl[k].dticket+1;fl[k].yticket=fl[k].yticket-1;cnum=cnum+1;strcpy(cu[cnum].name,name);cu[cnum].num=num;cu[cnum].seat=fl[k].dticket;ofstream outfile1("airline.dat");for(j=0;j<3;j++)outfile1<<fl[j].fligh<<" "<<fl[j].num<<" "<<fl[j].place<<" "<<fl[j].dticket<<" "<<fl[j].yticket<<endl;ofstream outfile2("customer.dat",ios::app);outfile2<<cu[cnum].name<<" "<<cu[cnum].num<<" "<<cu[cnum].seat<<" "<<cnum<<endl; //打开文件并存储数据cout<<"订票成功!"<<endl<<endl<<"客户信息:"<<cu[cnum].name<<'\t'<<"航班号:"<<cu[cnum].num<<'\t'<<"座位号:"<<cu[cnum].seat<<endl;outfile1.close();outfile2.close();cout<<" 1.返回主菜单2.退出:";cin>>temp;if(temp==1) caidan1();else;}};break;default :caidan1();break;}}else cout<<"此航班票已经售完,请订其他航班次的票~";} ///////////////////////////////////////////////////////////////////////////////////////////////////// //订票void tuipiao()///////////////////////////////////////////////////////////////////////////////////////// 退票{char name[10];int i,temp,t,num,a,j;struct tmp;cout<<"请输入您的姓名和航班号:"<<endl;cout<<"姓名:";cin>>name;cout<<"航班号:";cin>>num;cout<<endl;for(i=0;i<300;i++){if (strcmp(cu[i].name,name)==0){a=0;cout<<"确定退订吗?(1.是2.否):";cin>>temp;if(temp==1){ ofstream outfile1("airline.dat");ofstream outfile2("customer.dat");for(j=0;j<=i;j++)outfile2<<cu[j].name<<" "<<cu[j].num<<" "<<cu[j].seat<<" "<<j<<endl;for(t=0;t<3;t++){if(fl[t].fligh==num) {fl[t].dticket=fl[t].dticket-1;fl[t].yticket=fl[t].yticket+1;}}for(t=0;t<3;t++)outfile1<<fl[t].fligh<<" "<<fl[t].num<<" "<<fl[t].place<<" "<<fl[t].dticket<<" "<<fl[t].yticket<<endl;}}else a!=0;}if (a!=0) cout<<"没有你的信息,请查证后再操作!";cout<<"返回主菜单?1.是2.否:";cin>>temp;if(temp==1)caidan1();}//////////////////////////////////////////////////////////////////// 退票void chaxun(){char name[10];int temp,i,a;cout<<"请输入你的姓名:";cin>>name;for(i=0;i<300;i++)if (strcmp(cu[i].name,name)==0){temp=i;a=0;}cout<<"*****乘客信息*****"<<endl<<"姓名:"<<cu[temp].name<<'\t'<<"航班号:"<<cu[temp].num<<'\t'<<"座位号:"<<cu[temp].seat<<endl;if (a!=0) cout<<"没有你的信息,请查证后再操作!"<<endl;cout<<"返回主菜单?1.是2.否";cin>>temp;if(temp==1)caidan1();} //查询客户信息void chaxunquanbu(){int i,temp;cout<<"乘客信息:"<<endl<<endl;for(i=0;i<300;i++){if (cnum==i) temp=i;}for(i=0;i<temp;i++)cout<<"姓名:"<<cu[i].name<<'\t'<<"航班号:"<<cu[i].num<<'\t'<<"座位号:"<<cu[i].seat<<'\t'<<"编号:"<<i+1<<endl;cout<<endl<<"航班信息:"<<endl<<endl;for(i=0;i<3;i++)cout<<"航班号:"<<fl[i].fligh<<'\t'<<"飞机号:"<<fl[i].num<<'\t'<<"目的地:"<<fl[i].place<<'\t'<<"已订票数:"<<fl[i].dticket<<'\t'<<"剩余票数:"<<fl[i].yticket<<endl; cout<<"返回主菜单?1.是2.否";cin>>temp;if(temp==1)caidan1();} //查询全部信息六、模块分析1、航线信息:每条航线包括航班号,飞机号,目的地,订票数,余票数,5项现有3条航线:目的地北京,上海,广州。

航空订票系统

航空订票系统

(二)客票预定:
根据客户提出的要求(航班号和定票数额)查询该航班的余票情况。如余 票能够满足客户的要求则为客户办理定票手续并输出相应的座位号;若该航班 已经满员或余票额少于客户的定票额,则需重新询问客户需求。若需要可登记 排队候补并留下客户的联系方式,不需要则退出。 在客票预定这一环节里将出现两个客户名单:已定票客户名单和需定票客 户名单。两客户名单可分别由线性表和队列实现。为查找方便,已定票客户的 线性表应按姓名有序,同时为了插入和删除方便,,应以链表作为存储结构。 由于无法知道预约的人数,队列也应该以链表作为存储结构。 。
组员:
1.1需求分析
(一)查询航线: 能够根据客户提出终点站名输出相关的信息,包括航班号、飞机号、飞行日 期、载员定额、余票量、已定票的客户名单(包括该客户的姓名、定票量、舱 位等级)以及等候替补的客户名单(包括姓名和所需票量)、最近一天航班的 日期和余票额; 由于航空公司的航班保持基本不变,所以应该采用顺序存储结构将各条航线的 基本情况登陆在一张线性表上,按照终点站名有序排列。
模块三: 文件的保存和读取以及主函数和欢迎界面
void welcome(); //打印欢迎界面 void save_airline(Flight &f); //保存航线信息到airline.dat void change_airline(int flight_no,Flight flight[]); //保存修改后的航线信息到airline.dat bool load_airline(); //从airline.dat读取航线信息 int changStrInt(char *ch); //把字符串转化为整型 void save_customer(Al_Custom *p); //保存已订票客户信息到customer.dat bool load_customer(); //从customer.dat读取已订票客户信息 void save_waitcustomer(Wait_Custom *p); //保存等待客户信息到waitcustomer.dat bool load_waitcustomer(); //从waitcustomer.dat读取等待客户信息
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据结构与算法设计课程设计【设计题目】航空公司订票系统【问题描述】编写一个咸阳航空公司订票大厅的一个订票系统,可以在系统中录入并修改各个航班的具体情况,帮助乘客准确的查询各航班的最新信息(包括航班号、航班的起始时间和地点、票价)和各项业务的及时办理(包括订票、退票等)。

该系统用可以用C++的类编写。

【软件功能】1.输入航班信息并保存到磁盘2.浏览航班信息3.修改航班信息并保存到磁盘4.查找航班5.删除航班信息6.订票7.退票【算法思想】1先定义一个乘客基本信息的类包含乘客的姓名、证件号、订票数量及所乘的航班号(注:每个航班有固定的人数限制,若满额则提示其他可供选择的航班。

2建立一个功能类,包括对航班信息和乘客订票信息的录入及修改的函数,其中订票信息采用单链表的顺序存储方式存储。

另外还包括对信息的查询和修改的功能函数,乘客退票的函数。

并将最终的改动结果通过i/O流写入磁盘文件保存。

3编写主函数,对编写的航班系统进行全面测试,对用户界面采用人性化的菜单方式。

【类的设计】定义一个航班的类class plane{friend class customer;//友元类public:void input(); //插入航班信息void print(); //打印航班信息void save(); //保存航班信息void read(); //读取航班信息void search(); //查找航班信息void Delete(); //删除航班信息void book(); //订票void back(); //退票void xiugai(); //修改航班信息private:int num;//航班号char start_place[20];//起点站char arrive_place[20];//终点站char time[10];//起降时间int count;//机票数量}];定义一个顾客信息的类class customer{friend class plane;//友元类protected:I nt id;//身份证号char name[10];//姓名int customer_num;//订票数量public:void read1();//读取数据void save1();//保存数据};【存储结构设计】采用顺序存储结构,利用动态申请空间实现信息的存储。

【模块划分及调用关系】定义了两个类class plane和class customer,分别实现顾客及航班的信息操作。

在两个类的后面分别定义了类中的各个函数。

另外在主函数中分别调用函数,实现各个功能。

【模块流程图】1.主函数main()2.void search()//查询函数3.void book()//订票函数4.void back()//退票函数【界面设计】采用人性化的菜单提示语,让用户很容易的操作;【用户手册】用户只需要在vc环境下就可以操作,具体步骤可见菜单提示就可以顺利操作。

另外,再加入、删除、修改航班信息时必须以管理员的身份进去,所以必须要有密码,在这里初始密码事:xinxi0701.谢谢您的使用!!1、程序上机调试报告【语法错误及其排除】两个类的公有函数中,在循环嵌套调用时总是受阻,不能执行。

所以我把两个类都定义为相互的有元类。

这样问题就解决了。

【算法错误及其排除】在订票与退票函数中,要核对用户信息如姓名、ID等,开始是自己定义一个函数进行字符间的比较,在调用时总是出现语法错误,最后想到可以用一个函数库中的函数strcmp(char,char).把问题简单化,而且语法错误也解决了。

2、程序测试结果【测试数据】说明:测试数据都是输入数据,见输出结果。

【输出结果】【程序性能评价】该程序可以查询航班的信息、修改信息,查询顾客的信息,订票、退票等,界面采用人性化的提示,可以让用户很容易的操作。

另外在修改信息、添加航班信息时必须要以管理员的身份进入即必须要有密码才能进入。

保证了系统的安全。

【性能改进方向】该系统在操作中要是不按照菜单的有关提示操作,而进行非法操作,可能会导致系统的死循环。

在这点该系统还有待改进。

【收获及体会】事实总比想象的难,刚开始编写这个程序的时候思路比较清晰。

可是编写的时候遇到了很多难题,譬如将顾客的信息及航班的信息保存到文件中,不知道用那种方式更简便,最后仔细思考,阅读课本资料,选择了用流的形式输出到文件中,感觉用起来特别方便简洁。

完成了程序的编写后又对该程序进行了大量的修改,调试,使程序更加简明,并添加了不少提示用户操作的语句,使用户使用该系统时更加方便。

对自己的这个程序还是比较满意的,可以说已经超出了自己当初的设想。

从编写这个程序的过程中不但发现了许多自己没学明白的地方,而且锻炼了自己的耐心。

刚调试时有很多错误,我逐个仔细的修改、排除,最终成功的完成了调试。

进过这次实习,我更加深刻的体会到,作任何事情要仔细,要静下心来认真思考,只要努力了,必定会有回报。

3、源程序代码#include<iostream.h>#include<string.h>#include<stdio.h>#include<iomanip.h>#include<stdlib.h>#define N 1000 //宏定义class customer;//申明顾客信息类//---------定义航班信息类----------------class plane{friend class customer;//有元类public:void insert(); //加入航班信息void print(); //输出航班信息void save(); //保存航班信息void read(); //读取航班信息void search(); //查找航班信息void Delete(); //删除航班信息void book(); //订票void back(); //退票void xiugai(); //修改航班信息private:int num;//航班号char start[10];//起点站char arrive[10];//终点站char time[20];//起降时间int plane_num;//机票数量}s[N];//------定义顾客信息类---------------------------class customer{friend class plane;//有元类protected:int id;//身份证号char name[20];//姓名int pshu;//用户订票数量public:void read1();//读取数据void save1();//保存数据}yh[N];int i,j;//全局变量int m=0,y=0;//宏定义一个输出#define PRINT s[i].num<<setw(13)<<s[i].start<<setw(13)<<s[i].arrive<<setw(13)<<s[i].time<<setw(13)<<s[i].pl ane_num<<endl //定义输出格式//-------------主函数------------void main(){plane abc;//定义一个航班类的对象int j;do{cout<<" 管理员密码:xinxi0701 "<<endl;cout<<" "<<endl;cout<<" -----------欢迎进入航空订票菜单------------"<<endl; //主界面cout<<"|============================================|"<<endl;cout<<" | 1.新增航班|"<<endl;cout<<" | 2.浏览航班信息|"<<endl;cout<<" | 3.修改航班信息|"<<endl;cout<<" | 4.查找航班信息|"<<endl;cout<<" | 5.删除航班|"<<endl;cout<<" | 6.订票|"<<endl;cout<<" | 7.退票|"<<endl;cout<<" | 0.退出|"<<endl;cout<<" |=====================================|"<<endl;cout<<"请选择(0~7):";cin>>j;switch(j){case 1:abc. insert();//调用插入函数break;case 2:abc.print();//调用打印函数break;case 3:abc.xiugai();//调用修改函数break;case 4:abc.search();//调用查找函数break;case 5:abc.Delete(); //调用删除函数break;case 6:abc.book();//调用订票函数break;case 7:abc.back();//调用退票函数break;case 0:;break;}}while(j!=0); //判断结束cout<<"谢谢使用,再见!\n";}//--------------主函数结束---------------//定义类中各个函数void plane::insert()//打印函数{char f[]="xinxi701"; //设置密码char y;cout<<"请输入密码:";cin>>f; //读取密码if(strcmp(f,"xinxi0701")==0){cout<<"--------------------------------------------------------------------------\n";for(i=0;i<N;i++){cout<<"航班号出发地点到达地点起降时间满载人数"<<endl;cout<<"|-------------------------------------------------|"<<endl;cin>>s[i].num>>s[i].start>>s[i].arrive>>s[i].time>>s[i].plane_num;cout<<"|-------------------------------------------------|"<<endl;m++;cout<<"第"<<m<<"个信息已经输入,是否继续(y/n)?";cin>>y;cout<<endl;if(y=='y')continue;else{save();//将结构体信息存盘cout<<"刚刚存盘的信息是:"<<endl;print();//输出输入的航班信息break;}}}elsecout<<"密码错误,您不能使用此项功能,强制推出!!!"<<endl;}void plane::save()//保存函数{FILE *fp,*fp1;//定义文件指针if((fp=fopen("chen.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//出错提示getchar();return;}if((fp1=fopen("hao.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//出错提示getchar();return;}for(i=0;i<m;i++)if(fwrite(&s[i],sizeof(class plane),1,fp)==0)//向文件写入数据,并判断是否出错cout<<"向文件输入数据失败!"<<endl;fprintf(fp1,"%d",m);fclose(fp);//关闭文件fclose(fp1);//关闭文件}//-------------------------------------------void plane::read()//从文件读取信息{FILE *fp,*fp1;//定义文件指针if((fp=fopen("chen.txt","rb"))==NULL)//打开文件,并判断是否出错{cout<<"出现错误,请检查文件是否存在!!";//出错提示getchar();}if((fp1=fopen("hao.txt","rb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!\n\n";//出错提示getchar();return;}fscanf(fp1,"%d",&m);fclose(fp1);//关闭文件for(i=0;i<m;i++){fread(&s[i],sizeof(plane),1,fp);//从文件中读取信息}fclose(fp);//关闭文件}//-----------------------------------void plane::print()//输出函数{char w[10];read();//调用读取文件函数cout<<"航班号起始站终点站时间机票数\n";for(i=0;i<m;i++){cout<<PRINT;//打印信息}cout<<"******************************************** "<<endl;cout<<"///请按任意键返回主菜单///"<<endl;cin>>w;//控制返回主菜单}//-----------------------------------------void plane::search()//查询函数{char name1[10];char name2[12];char ii[10];int n,no;do{cout<<" 欢迎进入查询菜单"<<endl;//查询方式菜单cout<<" "<<endl;cout<<" 1.按航班号查找\n\n"" 2.按终点站查找\n\n"" 3.按航线查找\n\n"" 0.返回"<<endl;cout<<"请选择(0~3):";cin>>n;if(n==0)break;switch(n){case 1:cout<<"请输入航班号:";cin>>no;//航班号break;case 2:cout<<"请输入终点站名称:";cin>>name2;//读取终点站break;case 3:cout<<"请输入起始站名称:\n";cin>>name1;//读取起始站cout<<"请输入终点站名称:\n";cin>>name2;//终点站break;}read();//调用读取函数for(i=0;i<m;i++){if(strcmp(s[i].arrive,name1)==0||strcmp(s[i].arrive,name2)==0)//按终点站起始站判断输出条件{cout<<"\n查找航班信息成功!"<<endl;cout<<"航班号起始站终点站时间机票数"<<endl;cout<<PRINT;//打印信息break;}if(s[i].num==no)//按航班号判断输出条件{cout<<"\n查找航班信息成功!\n";cout<<"航班号起始站终点站时间机票数"<<endl;cout<<PRINT;//打印信息break;}}no=0;//将航班号赋值为0if(i>m)cout<<"该航班不存在,是否继续查找(y/n)?";cin>>ii;}while(strcmp(ii,"y")==0);//判断结束}//------------------------------------void plane::Delete()//删除函数{char name1[10];char name2[12];char ii[12];char f[]="xinxi701";//设置密码int no,n;cout<<"请输入密码:";cin>>f;//读取密码if(strcmp(f,"xinxi0701")==0) //判断密码是否正确{do{cout<<" 欢迎进入删除菜单"<<endl;//删除方式菜单cout<<" "<<endl;cout<<" *1.按航班号删除\n\n"" *2.按航线删除\n\n"" *0.返回"<<endl;cout<<"请选择(0~2)";cin>>n;//读取删除方式if(n==0)break; //跳出循环switch(n){case 1:cout<<"请输入航班号:";cin>>no;//读取航班号read();//调用读取函数break;//跳出循环case 2:cout<<"请输入起始站名称:";cin>>name1;//读取起始站cout<<"请输入终点站名称:";cin>>name2;//读取终点站read();//调用读取函数break;//跳出循环}for(i=0;i<m;i++){if(s[i].num==no||strcmp(s[i].start,name1)==0&&strcmp(s[i].arrive,name2)==0)//判断输入信息是否存在{s[i]=s[m-1];m--;}}cout<<"没有该信息,是否继续删除(y/n):";cin>>ii; //读取是否继续信息save(); //调用读取函数if(!strcmp(ii,"y")) //判断是否继续删除cout<<"请按任意键返回删除菜单!!";break;}while(n!=1&&n!=2&&n!=3&&n!=4&&n!=0); //判断结束}elsecout<<"密码错误,不能使用此项功能,强行退出!!\n\n";}//------------------------------------------------void plane::book()//订票函数{customer abc;int n;char a[12];do{cout<<"各位用户你好!请你先选择您要乘的航班"<<endl;search();abc.save1();abc.read1();y=y+1;cout<<" 欢迎进入订票系统!!!!"<<endl;cout<<"请输入你的ID号:";cin>>yh[y].id;cout<<"请输入你的姓名:";cin>>yh[y].name ;cout<<"请输入您要订的机票数:";fai: cin>>n;//读取所订机票数if(n<=0)goto fai;yh[y].pshu=n;s[i].plane_num=s[i].plane_num-n;abc.save1();save();//调用保存函数cout<<"订票成功!\n\n";break;cout<<"是否继续(y/n)?";//判断是否继续订票cin>>a;}while(!strcmp(a,"y"));//判断结束}//-------------------------------------void plane::back()//退票函数{customer abc;int n;char a[12];do{cout<<"各位用户你好!请你先选择您要退的航班"<<endl;search();cout<<"请输入你的ID号码:"<<endl;cin>>abc.id;cout<<"请输入你的姓名:"<<endl;cin>> ;cout<<"请输入您要退的机票数目:"<<endl;cin>>n;//输入所退票数if(n<0) //判断票数是否有效{cout<<"请输入有效的机票数!"<<endl;cin>>n;}abc.read1();for(i=0;i<y;i++){if((yh[i].id=abc.id)==0&&strcmp(yh[i].name,)==0)//按终点站起始站判断输出条件{cout<<"该顾客存在!"<<endl;cout<<"身份证号姓名订票数"<<endl;cout<<yh[i].id<<setw(8)<<yh[i].name<<setw(8)<<yh[i].pshu<<endl;//打印信息break;}}for(;i<y;i++){yh[i].id=yh[i+1].id;strcpy(yh[i].name,yh[i+1].name);yh[i].pshu=yh[i+1].pshu;}abc.save1();s[i].plane_num=s[i].plane_num+n;save(); //调用保存cout<<"退票成功!\n\n";cout<<"是否继续(y/n)?";//判断是否继续退票cin>>a;}while(!strcmp(a,"y"));//判断并跳出循环getchar();}//---------------------------------void plane::xiugai() //修改信息函数{class xiu //定义一个类{public:int no;char name1[12];char name2[12];char time[12];int plane_num;}x[1];char j[10];char f[]="xinxi701";//设置密码int n;cout<<"请输入密码:";cin>>f;//读取密码if(strcmp(f,"xinxi0701")==0)//判断是否出错{read();//调用读取do{cout<< " 欢迎进入修改系统"<<endl;cout<< " *1,按航班号修改"<<endl;cout<< " *2,按航线修改"<<endl;cout<<"请选择(1~2)";cin>>n;//读取修改方式switch(n){case 1:cout<<"请输入航班号:";cin>>x[0].no;//读取航班号break;case 2:cout<<"请输入起始站:";cin>>x[0].name1;//读取起始站cout<<"请输入终点站:";cin>>x[0].name2;//读取终点站break;}for(i=0;i<m;i++){if(strcmp(s[i].arrive,x[0].name1)==0&&strcmp(s[i].arrive,x[0].name2)==0)//判断输出条件{cout<<"航班号起始站终点站时间机票数\n";cout<<PRINT;break;}if(s[i].num==x[0].no)//判断输出条件{cout<<"航班号起始站终点站时间机票数\n";cout<<PRINT;break;}}x[0].no=0; //将结构体中的号为零cout<<"请输入新航班号起始站终点站时间机票数"<<endl;cin>>x[0].no>>x[0].name1>>x[0].name2>>x[0].time>>x[0].plane_num;s[i].num=x[0].no;//替换航班号strcpy(s[i].start,x[0].name1);//替换其始站strcpy(s[i].arrive,x[0].name2);//替换终点站strcpy(s[i].time,x[0].time);//替换时间s[i].plane_num=x[0].plane_num;//替换机票数save();//调用保存cout<<"是否继续(y/n)?";cin>>j;}while(strcmp(j,"y")==0); //判断结束}elsecout<<"密码错误,不能使用此项功能,强行退出!!\n\n";}//--------------------------------------------void customer::read1(){FILE *ff,*ff1;//定义文件指针if((ff=fopen("xinx.txt","rb"))==NULL)//打开文件,并判断是否出错{cout<<"出现错误,请检查文件是否存在.";//打印出错提示getchar();}if((ff1=fopen("shu.txt","rb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//打印出错提示getchar();return;}fscanf(ff1,"%d",&y);fclose(ff1);//关闭文件for(j=0;j<y;j++){fread(&yh[j],sizeof(customer),1,ff);//从文件中读取信息}fclose(ff);//关闭文件}//----------------------------------------void customer::save1()//保存函数{FILE *ff,*ff1;//定义文件指针if((ff=fopen("xinx.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//出错提示getchar();return;}if((ff1=fopen("shu.txt","wb"))==NULL)//打开文件并判断是否出错{cout<<"创建文件失败!"<<endl;//打印出错提示getchar();return;}for(j=0;j<m;j++)if(fwrite(&yh[j],sizeof(class customer),1,ff)==0)//向文件写入数据,并判断是否出错cout<<"向文件输入数据失败!\n\n";fprintf(ff1,"%d",y);fclose(ff);//关闭文件fclose(ff1);//关闭文件}。

相关文档
最新文档