数据结构订票系统课程设计(数据库课程设计火车订票系统)
您好,今天天天来为大家解答以上的问题。数据结构订票系统课程设计相信很多小伙伴还不知道,现在让我们一起来看看吧!
数据结构订票系统课程设计(数据库课程设计火车订票系统)
数据结构订票系统课程设计(数据库课程设计火车订票系统)
数据结构订票系统课程设计(数据库课程设计火车订票系统)
1、1、数据结构课程设计——航空订票系统(C语言2、数据结构航空客运订票的业务活动包括3、数据结构实习C语言航空订票系统数据结构课程设计——航空订票系统(C语言1、任务:航空客运定票的业务活动包括:查询航线、客票预定和办理退票等。
2、试设计一个航空客运定票系统,以使上述业务可以借助计算机来完成。
3、2、功能要求:1录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定2查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓;可以输入起飞抵达城市,查询飞机航班情况;3订票:(订票情况可以存在一个数据文件中,结构自己设定可以订票,如果该航班已经无票,可以提供相关可选择航班;4退票:可退票,退票后修改相关数据文件;5:有姓名,证件号,订票数量及航班情况,订单要有编号;6修改航班信息:当航班信息改变可以修改航班数据文件。
4、3、要有一个好的界面~~~~~~~~~~~~~~~~~~~~~~~~4、需求分析系统需求(系统要求实现的功能的具体情况5、概要设计系统分析(分析系统的功能和具体模块的划分系统流程(系统的流程图程序详细代码:数据结构航空客运订票的业务活动包括#includestdio.h#includestring.h#includeconio.h#includectype.h#includestdlib.h#includemalloc.h#includemath.h//overflow#defineok1typedefstructYidingkehu{//单链表charname[15];//已订票的客户姓名intdingpiaoshu;//已订票数量structYidingkeext1;//}Yidingkehu,Link;typedefstructWeidingkehu{//单链队charname[15];//预订票的客户姓名intyudingpiao;//要订票数量structWeidingkeext2;//下一个链队结点指针}Weidingkehu,Qptr;typedefstruct{Qptrfront;//单链队头结点Qptrrear;//单链队尾结点}linkQueue;typedefstructHangxian{//创建一个含有六个信息的结构体charhangbanhao[15];//航班号-charfeijihao[15];//飞机号intfeixingriqi;//起飞时间intchenkerenshu;//座位数intyupiao;//余票charzhongdianzhai[15];//降落城市structHangxiannext;//指向下一个链结点的指针structYidingkehuyiding;//定义一个指向已订票客户的头结点指针structWeidingkehuyudingqueue;}Hangxian,Linklist;structHangxianL=NULL;//structYidingkehuH;//为已订票客户链队来申请空间linkQueueQ;//linkQueue类型的来申请空间LinklistInitLinklist(;//01intInsertLinklist(Linklisthead1;//02voidhbhchaxun(;//通过航班号查询voidmddchaxun(;//通过目的地查询voidlurugongneng(;//初始化录入功能voidchaxungongnen(;//查询功能voiddingpiaogongnen(;//订票功能voidtuipiaogongnen(;//退票功能voidmain({H=(structYidingkehumalloc(sizeof(Yidingkehu;Q.front=Q.rear=(Qptrmalloc(sizeof(Weidingkehu;InitLinklist(;intn;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{case1:lurugongneng(;//录入功能break;case2:chaxungongnen(;//查询功能break;case3:dingpiaogongnen(;//订票功能break;case4:tuipiaogongnen(;//退票功能break;default:exit(0;//退出}}while(n==1||n==2||n==3||n==4;}voidlurugongneng(//初始化的单链表录入功能{intj=1,m;do{if(!InsertLinklist((LinklistL//向其中加入航班信息{printf("内存已满n";exit(OVERFLOW;}//向链表中加一结点printf("t是否要输入下一个航线记录?n";printf("t是请输入1n";printf("t否请输入2nt";scanf("%d",m;//在这里依靠人来决定是否输入下一条航线记}while(m==1;}LinklistInitLinklist({//01L=(Linklistmalloc(sizeof(Hangxian;if(!Lexit(OVERFLOW;L-next=NULL;//建立一个带有头结点的单链表return(L;}intInsertLinklist(LinklistL//02向航线链表添加新的结点{Linklistp;//intm,n;p=(Linklistmalloc(sizeof(Hangxian;//为一个新的结点分配空间if(!pexit(OVERFLOW;printf("t请依次输入下面几项内容:nn";//这里的输入采用一个个单独输入,避免了乱赋值的现象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;p-yiding=(structYidingkehumalloc(sizeof(Yidingkehu;//为它申请空间p-yudingqueue=Q.front=Q.rear=(Qptrmalloc(sizeof(Weidingkehu;//为它申请空间p-next=L-next;//L-next=p;//这二句是链表中的头插法插入一个结点return(ok;}voidchaxungongnen(//查询功能{intn;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{case1:mddchaxun(;break;case2:hbhchaxun(;break;default:break;}}voidmddchaxun(//通过目的地查询{charc[15];intm;Linklistp=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航班号:%sn",p-hangbanhao;printf("t飞机号:%sn",p-feijihao;printf("t飞行时间:周%dn",p-feixingriqi;printf("t余票量:%dn",p-yupiao;}}else{//如果不匹配的话就做printf("t对不起没有你要找的目的地:nn";m=0;}}while(m!=0;}voidhbhchaxun(//通过目的地查询{charc[15];intm;Linklistp=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航班号:%sn",p-hangbanhao;printf("t飞机号:%sn",p-feijihao;printf("t飞行时间:周%dn",p-feixingriqi;printf("t余票量:%dnn",p-yupiao;}}else{//如果不匹配的话就做printf("t对不起没有你要找的航班号:n";m=0;}}while(m!=0;}voiddingpiaogongnen(//订票功能{Linklistp=L;//Linklist类型的L来指向链表头Yidingkehuh=H,h1;//Yidingkehu定义客户的结点,方便插入与删除linkQueueq=Q;//linkQueue类型的来,方便插入与删除charc[15];intm=1,piao,ydpiao=0,yd=0,n;//gets(c;printf("请输入终点站名:";gets(c;printf("n";p=L-next;if(p{do{//查找一下,是否有这个航班if(!p{printf("对不起,没有你要找的航班:nn";gotoloop1;}m=strcmpi(p-zhongdianzhai,c;if(m==0{printf("航班信息:n";printf("航班号:%sn",p-hangbanhao;printf("飞机号:%sn",p-feijihao;printf("飞行时间:周%dn",p-feixingriqi;printf("余票量:%dn",p-yupiao;}elsep=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=(structYidingkehumalloc(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("余票量:%dn",p-yupiao;printf("对不起,余票%d张不足,不能完成订票nn",p-yupiao;printf("是否要重新订票?n";printf("需要请输入1否则请按2预订请输入3:";scanf("%d",m;printf("n";if(m==3gotoloop3;}}while(m==1;}}elseif(!p{loop3:structWeidingkehuq3;printf("对不起,该航班的票已售完n";q.front=p-yudingqueue;if(q.front==q.rearprintf("没有人预订票,是否要预订?n";elseif(q.front!=q.rearprintf("已有人预订票,是否要预订?n";printf("预订请输入1否则输入2:";scanf("%d",n;printf("n";if(n==1{q3=(Qptrmalloc(sizeof(Weidingkehu;printf("请输入你的姓名";gets(q3-name;gets(q3-name;//q3不能指向name???printf("请输入订票数";scanf("%d",q3-yudingpiao;q3-next2=NULL;q.rear-next2=q3;q.rear=q3;printf("你已经预订了!n";}}loop1:;}voidtuipiaogongnen(//退票功能{Linklistp=L;Yidingkehuh=H,h1,h2;linkQueueq=Q;charc[15],name1[15];intm=1,piao,n;//gets(c;printf("请输入航班号:";gets(c;p=L;//-next;if(p{do{//使用dowhile来查找是否有此航班if(!p{//如果是到了表尾且没有匹配,goto至再输入航班号printf("n对不起,没有你要找的航班:n";gotoloop1;}m=strcmpi(p-hangbanhao,c;//如果匹配的话,m=0if(m==0{printf("t航班信息:n";printf("航班号:%sn",p-hangbanhao;printf("飞机号:%sn",p-feijihao;printf("飞行时间:周%dn",p-feixingriqi;printf("余票量:%dn",p-yupiao;}elsep=p-next;}while(m!=0;if(m==0{//如果找到了,就来给他退票do{h=p-yiding;if(h{printf("请输入你的姓名:";gets(name1;//gets(name1;printf("请输入你订的票数:";scanf("%d",piao;printf("n";h1=h;h=h-next1;if(strcmpi(h-name,name1==0h-dingpiaoshu==piao//如果名字和订的票数相等,则就给他取消订票{p-yupiao+=h-dingpiaoshu;h2=h;h1-next1=h-next1;free(h2;printf("你取消订票成功:nn";structWeidingkehuq3;q.front=p-yudingqueue;if(q.front==q.rear{printf("没有人预订票:n";gotoloop1;}if((p-yupiao=(q.front-next2-yudingpiao{h2=(structYidingkehumalloc(sizeof(Yidingkehu;strcpy(h2-name,q.front-next2-name;h2-dingpiaoshu=q.front-next2-yudingpiao;n=p-yupiao-q.front-next2-yudingpiao;p-yupiao=n;q3=Q.front-next2;//q.front-next2=q3-next2;//这二语句来删除结点if(q.rear==q3q.rear=q.front;free(q3;//释放空间printf("链队中删除成功n";h2-next1=h-next1;h-next1=h2;//为之插入进已订票客户链表中printf("为预订的客户订票成功n";}elseprintf("余票数不够,不能为预订客户订票!n";}else{//如果没有找到,即系统中没有该人的信息,提示是否来重新查找printf("对不起,该航班没有人订票或者是你没有订该航班的票n";printf("是否要重新查找并取消订票?n";printf("需要请输入1否则请按2";scanf("%d",m;printf("n";}}}while(m==1;}}loop1:;}数据结构实习C语言航空订票系统代码如下:(但是不是跟你的要求完全相同,你改改吧!#includestdio.h#includestring.h#includestdlib.h#defineNAME_MAX100//书的名字的长字数#defineWRITER_MAX100//作者名字的长#definePUB_MAX100//出版单位长名字#defineTIME100//出版时间typedefstructbooks{intloading;charname[NAME_MAX];charwriter[WRITER_MAX];intidentify;charpub[PUB_MAX];chartime[TIME];intpr;structbooksnext;}book;//头结点不存储信息voidInit(bookhead{head-next=NULL;}//打印一些欢迎词之类的。
5、voidwelcome({printf("欢迎使用@@@@图书馆,哈哈n";printf("nn";printf("1:图书信息录入功能n";printf("2:图书信息浏览功能,显示该书的所有信息n";printf("3:图书信息查询功能:按书名查询与按作者名查询n";printf("4:图书信息的修改和删除,可对相应数据进行修改和删除n";}//显示一本书的信息voidprint_the_book(bookp1{printf("loadingnumber:%dn",p1-loading;printf("name:";puts(p1-name;printf("n";printf("writer:";puts(p1-writer;printf("n";printf("identify:%dn",p1-identify;printf("n";printf("pub:";puts(p1-pub;printf("n";printf("time:";puts(p1-time;printf("n";printf("pr:%dn",p1-pr;}intchongbookhead,bookp{bookp1=head-next;inta=0;while(p1!=NULL{if(strcmp(p1-name,p-name==0{if(strcmp(p1-writer,p-writer==0。
本文到这结束,希望上面文章对大家有所帮助。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系 836084111@qq.com 删除。