• 回答数

    3

  • 浏览数

    356

最美遇见微风
首页 > 学术论文 > 航空在线订票系统论文模板

3个回答 默认排序
  • 默认排序
  • 按时间排序

大漠金鹰

已采纳

#include <>#include <>#include <>#include <>#include <>#include <>#include <>//overflow#define ok 1typedef struct Yidingkehu{//单链表 char name[15];//已订票的客户姓名 int dingpiaoshu;//已订票数量 struct Yidingkehu *next1;//}Yidingkehu,*Link;typedef struct Weidingkehu{//单链队 char name[15];//预订票的客户姓名 int yudingpiao;// 要订票数量 struct Weidingkehu *next2;//下一个链队结点指针}Weidingkehu,*Qptr;typedef struct Hangxian{//创建一个含有六个信息的结构体 char hangbanhao[15];//航班号- char feijihao[15];//飞机号 int feixingriqi;//起飞时间 int chenkerenshu;//座位数 int yupiao;//余票 char zhongdianzhai[15];//降落城市 struct Hangxian *next;//指向下一个链结点的指针 struct Yidingkehu *yiding;//定义一个指向已订票客户的头结点指针 struct Weidingkehu *yudingqueue;}Hangxian,*Linklist;Linklist InitLinklist();//01int InsertLinklist(Linklist &head1);//02void hbhchaxun();//通过航班号查询void mddchaxun();//通过目的地查询void lurugongneng();//初始化录入功能void chaxungongnen();//查询功能void dingpiaogongnen();//订票功能void tuipiaogongnen();//退票功能void main(){ int n; do{ //打印主界面 printf("\t 欢迎使用航空客运订票系统\n"); printf("\t+++++++++++++++++++++++++++++\n"); printf("\t==>1. 录入功能 ==\n"); printf("\t==>2. 查询功能 ==\n"); printf("\t==>3. 订票功能 ==\n"); printf("\t==>4. 退票功能 ==\n"); printf("\t==>5. 退出 ==\n"); printf("\t+++++++++++++++++++++++++++++\n"); printf("\t请选择:"); scanf("%d",&n);printf("\n"); switch(n) { case 1: lurugongneng();//录入功能 break; case 2: chaxungongnen();//查询功能 break; case 3: dingpiaogongnen();//订票功能 break; case 4:tuipiaogongnen();//退票功能 break; default :exit(0);//退出 } }while(n==1||n==2||n==3||n==4);}void lurugongneng()//初始化的单链表*********************************************************录入功能{ Linklist p; //int m,n; if(!p) exit(OVERFLOW); printf("\t请依次输入下面几项内容:\n\n");//这里的输入采用一个个单独输入,避免了乱赋值的现象 printf("航班号\n"); gets(p->hangbanhao);//这里的二个gets主要是因为在回车键的输入,其中的第一个是来接收上次的回车 gets(p->hangbanhao); printf("飞机号\n"); gets(p->feijihao); printf("终点站\n"); gets(p->zhongdianzhai); printf("飞行日期\n"); scanf("%d",&p->feixingriqi); printf("乘客总数\n"); scanf("%d",&p->chenkerenshu); printf("余票数\n"); scanf("%d",&p->yupiao); }void chaxungongnen()//******************************************************************查询功能{ int n; printf("\t 查 找 航 线 信 息 \n"); printf("\t+++++++++++++++++++++++++++++\n"); printf("\t==>1. 通过目的地查询 ==\n"); printf("\t==>2. 通过航班号查询 ==\n"); printf("\t+++++++++++++++++++++++++++++\n"); printf("\t请选择:"); scanf("%d",&n); printf("\n");//格式化 switch(n) { case 1:mddchaxun(); break; case 2:hbhchaxun(); break; default :break; }}void mddchaxun()//通过目的地查询{ char c[15]; int m; Linklist p=L; printf("\t请输入要查询的目的地:"); gets(c); gets(c);//原因同上 do{ p=p->next; if(p) { m=strcmpi((*p).zhongdianzhai,c);//如果==的话则m=0; if(m==0) { printf("\t航班信息:\n"); printf("\t航班号:%s\n",p->hangbanhao); printf("\t飞机号:%s\n",p->feijihao); printf("\t飞行时间:周%d\n",p->feixingriqi); printf("\t余票量:%d\n",p->yupiao); } } else {//如果不匹配的话就做 printf("\t对不起没有你要找的目的地:\n\n"); m=0; } }while(m!=0);}void hbhchaxun()//通过目的地查询{ char c[15]; int m; Linklist p=L; printf("\t请输入要查询的航班号:"); gets(c); gets(c);printf("\n"); do{ p=p->next; if(p) { m=strcmpi((*p).hangbanhao,c);//如果==的话则m=0;这里的(*p).与p->的作用是一样的 if(m==0) { printf("\t航班信息:\n"); printf("\t航班号:%s\n",p->hangbanhao); printf("\t飞机号:%s\n",p->feijihao); printf("\t飞行时间:周%d\n",p->feixingriqi); printf("\t余票量:%d\n\n",p->yupiao); } } else {//如果不匹配的话就做 printf("\t对不起没有你要找的航班号:\n"); m=0; } }while(m!=0);}void dingpiaogongnen()//***************************************************************订票功能{ char c[15]; int m=1,piao,ydpiao=0,yd=0,n;// gets(c); printf("请输入终点站名:"); gets(c); printf("\n"); p=L->next; if(p) { do{//查找一下,是否有这个航班 if(!p) { printf("对不起,没有你要找的航班:\n\n"); goto loop1; } m=strcmpi(p->zhongdianzhai,c); if(m==0) { printf("航班信息:\n"); printf("航班号:%s\n",p->hangbanhao); printf("飞机号:%s\n",p->feijihao); printf("飞行时间:周%d\n",p->feixingriqi); printf("余票量:%d\n",p->yupiao);} else p=p->next; }while(m!=0); if(m==0) { do{ printf("\n请输入你要订的票数:"); scanf("%d",&piao); if(piao<=p->yupiao) { h=p->yiding; if(h) { h1=h; h=h->next1; h=(struct Yidingkehu*)malloc(sizeof(Yidingkehu)); printf("请输入你的名字:"); gets(h->name);gets(h->name); h->dingpiaoshu=piao; h->next1=h1->next1; h1->next1=h; p->yupiao=p->yupiao-piao; printf("订票成功:\n"); m=2; } } else { printf("余票量:%d\n",p->yupiao); printf("对不起,余票 %d 张不足,不能完成订票\n\n",p->yupiao); printf(" 是否要重新订票?\n"); printf("需要请输入1 否则请按2 预订请输入3 : "); scanf("%d",&m); printf("\n"); if(m==3) goto loop3; } }while(m==1); } } else if(!p) {loop3: struct Weidingkehu *q3;printf("对不起,该航班的票已售完\n");>yudingqueue;if() printf("没有人预订票,是否要预订?\n");else if(!=) printf("已有人预订票,是否要预订?\n");printf("预订请输入1 否则输入2 : ");scanf("%d",&n);printf("\n");if(n==1){ printf("请输入你的姓名"); gets(q3->name); gets(q3->name);//q3不能指向name??? printf("请输入订票数"); scanf("%d",&q3->yudingpiao); q3->next2=NULL; >next2=q3; ; printf(" 你已经预订了 !\n");} }loop1:;}void tuipiaogongnen()//***************************************************************退票功能{ }以上回答你满意么?

164 评论

上海二当家

#include <>#include <>#include <>//#include <>#define MAXSIZE 3typedef struct wat_ros{ char name[10]; int req_amt; struct wat_ros *next;}qnode,*qptr;typedef struct pqueue{ qptr front; qptr rear;}linkqueue;typedef struct ord_ros{ char name[10]; int ord_amt; int grade; struct ord_ros *next;}linklist;struct airline{ char ter_name[10]; /* 站点名 */ char air_num[10]; /* 航班号 */ char plane_num[10]; /* 飞机号 */ char date[7]; /* 飞行日期 */ int tkt_amt; /* 乘员定额 */ int tkt_sur; /* 余票量 */ linklist *order; linkqueue wait;}lineinfo;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,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(iter_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(iair_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; } } else printf("该航线没有客户信息!!\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();>next=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;itkt_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->>req_amt)){int i;info->>next;printf("%s订票成功!\n",t->name);for(i=0;ireq_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;ireq_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_surtkt_sur){t=*p;*p=*q;*q=t;}}printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n");for(j=0;j 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;}

303 评论

小川里沙

貌似是作业吧

266 评论

相关问答

  • 民航售票系统毕业论文

    WEREW根据我搜集的一些网站来看,建议看看这个,要做毕业论文以及毕业设计的,推荐一个网站 ,里面的毕业设计什么的全是优秀的,因为精挑细选的,网上很少有,都是

    念念1218 6人参与回答 2023-12-10
  • 在线订餐系统毕业论文

    基于Python的SIFT和KCF的运动目标匹配与跟踪 毕业论文+项目源码基于Python决策树算法的学生学习行为数据分析 设计报告+代码及数据基于Sring+

    一抹熙云 5人参与回答 2023-12-05
  • 电影订票系统毕业论文

    计算机专业做好毕业设计:做一个系统,首先选择新颖的设计题目。写需求分析要完善。用系统实现逐一的系统功能。界面一定要美观。赋予一定数量的测试用例答辩时要思路清晰,

    许多多000 5人参与回答 2023-12-10
  • 电影票在线选座系统毕业论文

    难个P啊。就是增删改查而已。不过前后端都要会一点。 选中座位,提交时候向数据库里增加被选中的座位号。然后页面刷新,跳回选择页面时候要从新查询!跳回的时候带着参数

    佳丽子伊 3人参与回答 2023-12-06
  • 航空模型杂志在线阅读

    《丝带飞扬》 作者:宁波《航空模型》(Model Airplane)2011年第10期

    快乐糖糖K 7人参与回答 2023-12-07