c语言课程设计报告_航空订票系统(编辑修改稿)内容摘要:

nth[0]=39。 039。 //与之后的管理员时间查询函数一致 } //与之后的 day格式调整一样 year[4]=39。 39。 year[5]=39。 \039。 strcat(year,month)。 //将输入的月份续接在 year数组之后 system(clear)。 printf(\n\t\t\t 『查询结果』 \n\n)。 printf(\n)。 Pri_Tit for(p1=head_flightnext。 p1!=NULL。 p1=p1next) if(strncmp(year,p1flight_time_start,7)==0) //对比时间字符串中前 7个字符是否时输入的字符 { flag=1。 Pri_Fli } if(flag==0) { printf(\n\t\t\t没有找到相关信息 \n)。 printf(\n\t\t\t按任意键返回上页 \n)。 getch()。 polling(UK)。 }flag=0。 printf(\n\t【 0】返回上页 \n)。 printf(\n\t\t\t日: )。 gets(day)。 if(strcmp(day,0)==0) polling(UK)。 if(strlen(day)==1) { day[1]=day[0]。 day[0]=39。 039。 } year[7]=39。 39。 year[8]=39。 \039。 strcat(year,day)。 system(clear)。 printf(\n\t\t\t 『查询结果』 \n\n)。 printf(\n)。 Pri_Tit for(p1=head_flightnext。 p1!=NULL。 p1=p1next) if(strncmp(year,p1flight_time_start,10)==0) { flag=1。 Pri_Fli } if(flag==0) { printf(\n\t\t\t没有找到相关信息 \n)。 printf(\n\t\t\t按任意键返回上页 \n)。 getch()。 polling(UK)。 } printf(\n\t\t\t按任意键返回上页 \n)。 getch()。 polling(UK)。 } int ding_ticket(Youke *UK) { Flight *head_flight,*p1。 head_flight=file_3()。 printf(a\n)。 char start[20],end[20]。 char num[20]。 int flag=0。 system(clear)。 printf(\n\t\t\t『订票系统』 \n)。 printf(\n\t【 0】返回上页 \n)。 printf(\n\n\t\t\t起飞地: )。 gets(start)。 if(strcmp(start,0)==0) youke(UK)。 printf(\n\n\t\t\t目的地: )。 gets(end)。 system(clear)。 printf(\n\t\t\t 『结果如下』 \n)。 printf(\n)。 Pri_Tit for(p1=head_flightnext。 p1!=NULL。 p1=p1next) { if((strcmp(start,p1flight_start)==0)amp。 amp。 (strcmp(end,p1flight_end)==0)) //判断是否是需要订购的航班路线 { flag=1。 Pri_Fli } } if(flag==0) { system(clear)。 printf(\n\n\n\n\t\t\tSorry。 暂无该路线航班 ...\n)。 sleep(1)。 ding_ticket(UK)。 } printf(\n\t\t请输入需要订票的航班号: )。 //根据现实输入需要订票的航班号 gets(num)。 ding_ticket_next(UK,num)。 //将所定的航班号传递的下一个函数中 youke(UK)。 return 0。 } int ding_ticket_next(Youke *UK,char num[20]) { Flight *head_flight,*p1,*p2。 Youke *head_youke,*q1。 head_flight=file_3()。 head_youke=file_1()。 int i,j,flag=0,flag1。 char ch。 for(q1=head_youkenext。 q1!=NULL。 q1=q1next) //让 q1与当前登陆者 UK所指向的节点相同 if(strcmp(q1name,UKname)==0) break。 for(p1=head_flightnext。 p1!=NULL。 p1=p1next) if(strcmp(num,p1flight_num)==0) { flag=1。 printf(\n\n\t 是 否 订 购 %s 号 %s%s 的 航 班。 Y/N\n,p1flight_num,p1flight_start,p1flight_end)。 ch=getch()。 if(ch==39。 Y39。 ||ch==39。 y39。 ) { printf(\n\n\t\t\t正在跳转到支付宝 \n\n\t\t\t )。 for(i=0。 i3。 i++) { printf(. )。 fflush(NULL)。 sleep(1)。 } pay()。 //选择支付后跳转到 pay()函数 在 中定义 for(j=0。 j20。 j++) //j对应游客结构体中 num[j] { for(flag1=0,p2=head_flightnext。 p2!=NULL。 p2=p2next) { if(strcmp(q1num[j],p2flight_num)==0) //判断当前 num[j]中是否有航班信息 { flag1=1。 //如果有 则跳出这个循环 j+1 再次进行本循环 break。 } } if(flag1==0) //当找到某个 num[j]没有保存航班信息的时候跳出循环 break。 } strcpy(q1num[j],p1flight_num)。 //将订购的该航 班的航班号赋给num[j] file_2(head_youke)。 //将信息保存到文件 文件函数均定义在 中 } else { printf(\n\n\t\t\t 已放弃订票 \n)。 printf(\n\n\t\t\t按任意键返回上页 \n)。 getch()。 youke(UK)。 } } if(flag==0) { printf(\n\n\t\t\t没有找到 %s 号航班 \n,num)。 sleep(1)。 ding_ticket(UK)。 } return 0。 } void tui_ticket(Youke *UK) { Youke *head_youke,*q1。 head_youke=file_1()。 Flight *head_flight,*p1。 Flight *new_flight,*a1,*a2。 new_flight=(Flight *)malloc(LEN_Flight)。 new_flightnext=NULL。 a1=a2=new_flight。 head_flight=file_3()。 char num[20]。 int i,j,flag。 for(q1=head_youkenext。 q1!=NULL。 q1=q1next) if(strcmp(q1name,UKname)==0) break。 for(q1=head_youkenext。 q1!=NULL。 q1=q1next) if(strcmp(q1name,UKname)==0) break。 system(clear)。 for(flag=0,p1=head_flightnext。 p1!=NULL。 p1=p1next) //如果当前登陆者没有订购机票 if(strcmp(q1num[0],p1flight_num)==0) flag=1。 if(flag==0) { system(clear)。 printf(\n\n\n\n\t\t\t 您没有任何订单信息 \n\n)。 printf(\n\n\t\t\t 按任意键返回上页 \n)。 getch()。 youke(UK)。 } printf(\n\n\t\t\t 你所拥有的订单 \n\n )。 Pri_Tit /**********************************************************/ for(i=0。 i++) //将游客所定的航班信息找到并新建链表储存 将该链表传入 time_fun()函数进行排序 之后输出 { for(flag=0,p1=head_flightnext。 p1!=NULL。 p1=p1next) if(strcmp(q1num[i],p1flight_num)==0) //核对并找信息 { flag=1。 a1=(Flight *)malloc(LEN_Flight)。 //新建链表 a1=p1。 a1next=NULL。 a2next=a1。 a2=a1。 } if(flag==0) break。 } i=1。 new_flight=time_fun(new_flight)。 //传递链表进行排序 for(a1=new_flightnext。 a1!=NULL。 a1=a1next) { printf(%d,i++)。 Pri_Flia //输出 Pri_Flia为定义在 里的宏 } /* for(a1=new_flightnext。 a1!=NULL。 a1=a1next) { printf(%d,i++)。 Pri_Flia for(i=0。 i++) { for(flag=0,p1=head_flightnext。 p1!=NULL。 p1=p1next) //寻找航班信息中与当前游客所存航班号一致的航班信息进行输出 if(strcmp(q1num[i],p1flight_num)==0) { flag=1。 break。 } if(flag==0) break。 printf(%d,i+1)。 Pri_Fli //输出 在 中宏定义 } */ printf(\n\t【 0】返回上页 \n)。 printf(\n\n\t\t\t需要退票的航班序号: )。 gets(num)。 if(strcmp(num,0)==0) youke(UK)。 for(i=0,flag=0。 i20。 i++) if(strcmp(num,q1num[i])==0) //将输入的需要退票的航班号与当前登陆者所存的航班号进行比对 相同的即让后面数据覆盖 { flag=1。 for(j=i。 j19。 j++) strcpy(q1num[j],q1num[j+1])。 //此处为数据覆盖 break。 } if(flag==0) { system(c。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。