您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 数据结构课程设计飞机订票系统
订票系统1.需求分析任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能;2.概要设计在此说明每个部分的算法设计说明(可以是描述算法的流程图),每个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储结构的定义)。主菜单0123456789输入航班的信息列出航班的信息按航班号查询航班信息按城市来查询航班订票程序退票系统修改飞机航班的信息保存文件读取文件、下载文件退出0.输入航班的信息航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣1.列出航班的信息继续y退出n2.按航班号查询航班信息输入所需要查询的航班号显示这个航班的的信息4.订票程序输入号码输入名字输入ID需要定的票数航班号3.按城市来查询航班输入起飞城市输入降落城市显示这个航班的信息5.退票系统输入航班号输入你ID确定退票1否定06.修改飞机航班的信息输入要修改的航班号重新输入新的航班信息7.保存文件显示保存成功详细设计3.源程序/******头文件(.h)***********/#includestdio.h/*I/O函数*/#includestdlib.h/*其它说明*/#includestring.h/*字符串函数*/#includeconio.h/*屏幕操作函数*/#includectype.h/*字符操作函数*/#defineN20#defineQ40/*定义常数表示记录数*//*定义数据结构*//*乘客信息*/typedefstruct{charnumber[10];/*编号*/charname[10];/*姓名*/charid[20];/*证件号*/intcount;/*订票数*/charflightname[10];/*乘坐航班号*/}GUEST;/*航班信息*/typedefstruct{charplanenumber[10];/*航班号*/charcity1[20];/*起飞城市*/charcity2[20];/*抵达城市*/chartime1[20];/*起飞时间*/chartime2[20];/*降落时间*/introom;/*舱位数*/charprice[5];/*票价*/chardiscount[5];/*折扣*/GUESTguest[25];intsit;}FLY;/*菜单函数,函数返回值为整数,代表所选的菜单项*/menu_select(){chars[80];intc;gotoxy(1,25);/*将光标定为在第25行,第1列*/printf(pressanykeyentermenu......\n);/*提示压任意键继续*/getch();/*读入任意字符*/clrscr();/*清屏*/gotoxy(1,1);printf(Welcometo\n\n);printf(TicketsBookingSystem\n\n);printf(********************MENU*********************\n\n);printf(0.Enterflightrecord\n);printf(1.Listtheflightinformation\n);printf(2.Searchflightnumber\n);printf(3.Searchcity\n);printf(4.Booktheticket\n);printf(5.Quittheticket\n);printf(6.Channgetheflightinformation\n);printf(7.Savethefile\n);printf(8.Loadthefile\n);printf(9.exit\n);printf(***********************************************\n);do{printf(\nEnteryouchoice(0~9):);/*提示输入选项*/scanf(%s,s);/*输入选择项*/c=atoi(s);/*将输入的字符串转化为整型数*/}while(c0||c9);/*选择项不在0~9之间重输*/returnc;/*返回选择项,主程序根据该数调用相应的函数*/}/*输入函数*/intenter(FLYt[]){inti,k,n,m,w,j;char*s;clrscr();/*清屏*/printf(inputtheflight'scount(n=40):);/*输入航线总数*/scanf(%d,&n);while(n40||n0){clrscr();printf(inputerror!!!inputagain(0n=40):);/*输入航线总数*/scanf(%d,&n);}printf(inputtheflight'sinformation\n\n);/*提示信息*/printf(flightnamestart-cityend-citystart-timeend-timeroompricediscount\n);printf(------------------------------------------------------------------------------\n);for(i=0;in;i++){scanf(%s,t[i].planenumber);/*输入姓名*/gotoxy(13,6+i);/*光标跳到地址栏*/scanf(%s,t[i].city1);/*输入起飞城市*/gotoxy(25,6+i);scanf(%s,t[i].city2);/*输入降落城市*/gotoxy(36,6+i);scanf(%s,t[i].time1);/*输入起飞时间*/gotoxy(47,6+i);scanf(%s,t[i].time2);/*输入降落时间*/gotoxy(57,6+i);scanf(%d,&t[i].room);/*输入舱位数*/gotoxy(64,6+i);scanf(%s,t[i].price);/*输入票价*/gotoxy(73,6+i);scanf(%s,t[i].discount);/*输入折扣*/}printf(-----------------------------------------------------------------------------\n);for(i=0;in;i++)t[i].sit=0;returnn;/*返回记录条数*/}/*显示记录,参数为记录数组和记录条数*/voidlist(FLYt[],intn){inti;clrscr();printf(flightnamestart-cityend-citystart-timeend-timeroompricediscount\n);printf(------------------------------------------------------------------------------\n);for(i=0;in;i++)printf(%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n,t[i].planenumber,t[i].city1,t[i].city2,t[i].time1,t[i].time2,t[i].room,t[i].price,t[i].discount);printf(************************end*******************\n);}/*按航班号查找记录*/voidsearch1(FLYt[],intn){chars[20];/*保存待查找航班名字符串*/inti;clrscr();/*清屏*/printf(pleaseinputtheflightnamethatyouwanttosearch:);scanf(%s,s);/*输入待查找航班名*/for(i=0;in;i++)/*从第一条记录开始,直到最后一条*/{if(strcmp(s,t[i].planenumber)==0)/*记录中的航班名和待比较的是否相等*/break;/*相等,则返回该记录的下标号,程序提前结结束*/}if(in-1)/*如果整数i值大于n-1,说明没找到*/printf(notfound\n);else{printf(flightnamestart-cityend-citystart-timeend-timeroompricediscount\n);/*显示记录*/printf(------------------------------------------------------------------------------\n);printf(%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n,t[i].planenumber,t[i].city1,t[i].city2,t[i].time1,t[i].time2,t[i].room,t[i].price,t[i].discount);}}/*按起降城市查找记录*/voidsearch2(FLYt[],intn){chars1[20];chars2[20];inti;clrscr();/*清屏*/printf(pleaseinputthestart-city:);scanf(%s,s1);/*输入起飞城市名*/printf(pleaseinputtheend-city:);scanf(%s,s2);/*输入降落城市名*/for(i=0;in;i++)/*从第一条记录开始,直到最后一条*/{if((strcmp(s1,t[i].city1)==0)&&(strcmp(s2,t[i].city2)==0))/*记录中的城市和待比较的是否相等*/break;/*相等,则返回该记录的下标号,程序提前结结束*/}if(in-1)/*如果整数i值大于n-1,说明没找到*/printf(notfound\n);else{printf(flightnamestart-cityend-citystart-timeend-timeroompricediscount\n);/*找到,显示记录*/printf(------------------------------------------------------------------------------\n);printf(%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n,t[i].planenumber,t[i].city1,t[i].city2,t[i].time1,t[i].time2,t[i].room,t[i].price,t[i].discount);}}/*订票*/voidbook(FLYt[],intn){chars[20],number1[10],name1[10],id1[20],flightname1[10];inti,j=0,m,k,count1;clrscr();/*清屏*/printf(Howmanyticketsdoyouwanttobook:);scanf(%d,&m);printf(numbernameIDbook-countflightname\n);/*提示信息*/printf(----------
本文标题:数据结构课程设计飞机订票系统
链接地址:https://www.777doc.com/doc-8563295 .html