版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、辽宁师范大学设计题目:火车订票系统设计专业:电子信息工程班级:09级3班姓名:学号:TOC o 1-5 h z总体设计(包含几大功能模块)1详细设计(各功能模块的具体实现算法流程图)2调试分析(包含各模块的测试用例,及测试结果)3 HYPERLINK l bookmark83.1源程序6 HYPERLINK l bookmark103.2调试与测试3133总结一总体设计(包含几大功能模块)nsertatraininformation(插入火车信息)nquireatrainjinformation(查询火车信息)Bookatrainticket(订票)Updatethetraininformat
2、ion(更新火车信息)Advicetoyouaboutthetrain(建议)6.Saveinformationtofile(储存信息归档)7.Quitthesystem(退出系统)二、详细设计(各功能模块的具体实现算法流程图)2.1各函数的功能和实现1.Insertatraininformation(插入火车信息):输入包括火车班次,最终目地,始发站,火车到站时间,车票价格,所定票号。可用函数voidinput来实现此操作2.inquireatrainjinformation(查询火车信息):没有任何记录Bookatrainticket(订票):输入你想要去的城市Updatethetrain
3、information(更新火车信息):可用voidfind()来实现Advicetoyouaboutthetrain(关于火车对你的建议)Saveinformationtofile(储存信息归档)Quitthesystem(退出系统):可用一个函数exit()来实现,首先将信息保存到文件中,释放动态创建的内存空间,再退出此程序。流程图详见A4纸上手绘三调试分析(包含各模块的测试用例,及测试结果)3.1源程序#include#include#include#includeintshoudsave=0;intcount1=0,count2=0,mark=0,mark1=0;/*定义存储火车信息的
4、结构体*/structtraincharnum10;/*列车号*/charcity10;/*目的城市*/chartakeoffTime10;/*发车时间*/charreceiveTime10;/*到达时间*/intprice;/*票价*/intbookNum;/*票数*/;/*订票人的信息*/structmancharnum10;/*ID*/charname10;/*姓生名*/intbookNum;/*需求的票数*/;/*定义火车信息链表的结点结构*/typedefstructnodestructtraindata;structnode*next;Node,*Link;/*定义订票人链表的结点
5、结构*/typedefstructpeoplestructmandatastructpeople*nextbookMan,*bookManLink;/*初始界面*/voidprintInterface()TOC o 1-5 h zl.11-I1puts(*Welcometousethesystemofbookingtickets*);l.11-I1(puts(*Youcanchoosetheoperation:*)puts(*1:Insertatraininformation*)puts(*2:Inquireatraininformation*)puts(*3:Bookatrainticket
6、*)puts(*4:Updatethetraininformation*)puts(*5:Advicetoyouaboutthetrain*)puts(*6:saveinformationtofile*)puts(*7:quitthesystem*)TOC o 1-5 h zl.11-I1(/*添加一个火车信息*/voidInsertTraininfo(Linklinkhead)structnode*p,*r,*s;charnum10;r=linkhead;s=linkhead-next;while(r-next!=NULL)r=r-next;while(1)printf(pleaseinpu
7、tthenumberofthetrain(0-return);scanf(%s,num);if(strcmp(num,0)=0)break;/*判断是否已经存在*/while(s)if(strcmp(s-data.num,num)=0)printf(thetrain%shasbeenborn!n,num);return;s=s-next;p=(structnode*)malloc(sizeof(structnode);strcpy(p-data.num,num);printf(Inputthecitywherethetrainwillreach:);scanf(%s,p-data.city);
8、printf(Inputthetimewhichthetraintakeoff:);scanf(%s,p-data.takeoffTime);printf(Inputthetimewhichthetrainreceive:);scanf(%s,&p-data.receiveTime);printf(Inputthepriceofticket:);scanf(%d,&p-data.price);printf(Inputthenumberofbookedtickets:);scanf(%d,&p-data.bookNum);p-next=NULL;r-next=pr=pshoudsave=1;/*
9、打印火车票信息*/voidprintTrainInfo(structnode*p)puts(nThefollowingistherecordyouwant:);printf(numberoftrain:%sn,p-data.num);printf(citythetrainwillreach:%sn,p-data.city);printf(thetimethetraintakeoff:%snthetimethetrainreach:%sn,p-data.takeoffTime,p-data.receiveTime);printf(thepriceoftheticket:%dn,p-data.pr
10、ice);printf(thenumberofbookedtickets:%dn,p-data.bookNum);structnode*Locate1(Linkl,charfindmess,charnumorcity)Node*rif(strcmp(numorcity,num)=0)r=l-next;while(r)if(strcmp(r-data.num,findmess)=0)returnr;r=r-next;elseif(strcmp(numorcity,city)=0)r=l-next;while(r)if(strcmp(r-data.city,findmess)=0)returnr;
11、r=r-next;return0;/*查询火车信息*/voidQueryTrain(Linkl)Node*p;intsel;charstr15,str210;if(!l-next)printf(Thereisnotanyrecord!);return;printf(Choosetheway:n1:accordingtothenumberoftrain;n2:accordingtothecity:n);scanf(%d,&sel);if(sel=1)printf(Inputthethenumberoftrain:);scanf(%s,str1);p=Locate1(l,str1,num);if(
12、p)printTrainInfo(p);elsemark1=1;printf(nthefilecantbefound!);elseif(sel=2)printf(Inputthecity:);scanf(%s,str2);p=Locate1(l,str2,city);if(p)printTrainInfo(p);elsemark1=1;printf(nthefilecantbefound!);/*订票子模块*/voidBookTicket(Linkl,bookManLinkk)Node*r10,*p;charch,dem;bookMan*v,*hinti=0,t=0charstr10,str1
13、10,str210;v=k;while(v-next!=NULL)v=v-next;printf(Inputthecityyouwanttogo:);scanf(%s,&str);p=l-next;while(p!=NULL)if(strcmp(p-data.city,str)=0)ri=p;i+;p=p-next;printf(nnthenumberofrecordhave%dn,i);for(t=0;ti;t+)printTrainInfo(rt);if(i=0)printf(ntttSorry!Cantfindthetrainforyou!n);elseprintf(ndoyouwant
14、tobookit?n);scanf(%d,&ch);if(ch=1)h=(bookMan*)malloc(sizeof(bookMan);printf(Inputyourname:);scanf(%s,&str1);strcpy(,str1);printf(Inputyourid:);scanf(%s,&str2);strcpy(h-data.num,str2);printf(InputyourbookNum:);scanf(%d,&dem);h-data.bookNum=demh-next=NULLv-next=hv=hprintf(nLucky!youhavebook
15、edaticket!);getch();shoudsave=1bookMan*Locate2(bookManLinkk,charfindmess)bookMan*r;r=k-next;while(r)if(strcmp(r-data.num,findmess)=0)mark=1;returnrr=r-next;return0;/*修改火车信息*/voidUpdateInfo(Linkl)Node*p;charfindmess20,ch;if(!l-next)printf(nthereisntrecordforyoutomodify!n);return;elseQueryTrain(l);if(
16、mark1=0)printf(nDoyouwanttomodifyit?n);getchar();scanf(%c,&ch);if(ch=y);printf(nInputthenumberofthetrain:);scanf(%s,findmess);p=Locate1(l,findmess,num);if(p)printf(Inputnewnumberoftrain:);scanf(%s,&p-data.num);printf(Inputnewcitythetrainwillreach:);scanf(%s,&p-data.city);printf(Inputnewtimethetraint
17、akeoff);scanf(%s,&p-data.takeoffTime);printf(Inputnewtimethetrainreach:);scanf(%s,&p-data.receiveTime);printf(Inputnewpriceoftheticket:);scanf(%d,&p-data.price);printf(Inputnewnumberofpeoplewhohavebookedticket:);scanf(%d,&p-data.bookNum);printf(nmodifyingrecordissucessful!n);shoudsave=1;elseprintf(t
18、ttcantfindtherecord!);elsemark1=0;/*系统给用户的提示信息*/voidAdvicedTrains(Linkl)Node*rcharstr10;intmar=0;r=l-next;printf(Iuputthecityyouwanttogo:);scanf(%s,str);while(r)if(strcmp(r-data.city,str)=0&r-data.bookNumnext;if(mar=0)printf(ntttyoucantbookanyticketnow!n);/*保存火车信息*/voidSaveTrainInfo(Linkl)FILE*fp;No
19、de*p;intcount=0,flag=1;fp=fopen(c:train.txt,wb);if(fp=NULL)printf(thefilecantbeopened!);return;p=l-next;while(p)if(fwrite(p,sizeof(Node),1,fp)=1)p=p-nextcount+;elseflag=0;break;if(flag)printf(thenumberoftherecordwhichhavebeensavedis%dn,count);shoudsave=0;fclose(fp);/*保存订票人的信息*/voidSaveBookmanInfo(bo
20、okManLinkk)FILE*fpbookMan*pintcount=0,flag=1;fp=fopen(c:man.txt,wb);if(fp=NULL)printf(thefilecantbeopened!);return;p=k-next;while(p)if(fwrite(p,sizeof(bookMan),1,fp)=1)p=p-next;count+;elseflag=0breakif(flag)printf(thenumberoftherecordwhichhavebeensavedis%dn,count);shoudsave=0;fclose(fp);intmain()FIL
21、E*fp1,*fp2;Node*p,*r;charch1,ch2;Linkl;bookManLinkk;bookMan*t,*hintsell=(Node*)malloc(sizeof(Node);l-next=NULL;r=l;k=(bookMan*)malloc(sizeof(bookMan);k-next=NULL;h=k;fp1=fopen(c:train.txt,ab+);if(fp1=NULL)printf(cantopenthefile!);return0;while(!feof(fp1)p=(Node*)malloc(sizeof(Node);if(fread(p,sizeof
22、(Node),1,fp1)=1)p-next=NULLr-next=pr=p;count1+;fclose(fp1);fp2=fopen(c:man.txt,ab+);if(fp2=NULL)printf(cantopenthefile!);return0;while(!feof(fp2)t=(bookMan*)malloc(sizeof(bookMan);if(fread(t,sizeof(bookMan),1,fp2)=1)t-next=NULLh-next=th=t;count2+;fclose(fp2);while(1)clrscr();printInterface();printf(
23、pleasechoosetheoperation:);scanf(%d,&sel);clrscr();if(sel=8)if(shoudsave=1)getchar();printf(nthefilehavebeenchanged!doyouwanttosaveit(y/n)?n);scanf(%c,&ch1);if(ch1=y|ch1=Y)SaveBookmanInfo(k);SaveTrainInfo(l);printf(nThankyou!Youarewelcometoon);break;switch(sel)case1:InsertTraininfo(l);breakcase2:Que
24、ryTrain(l);breakcase3:BookTicket(l,k);breakcase4:UpdateInfo(l);breakcase5:AdvicedTrains(l);breakcase6:SaveTrainInfo(l);SaveBookmanInfo(k);breakcase7:return0;printf(npleasepressanykeytocontinue);getch();0;return3.2调试与测试主要程序运行结果:运行开始选择1输入信息:选择2查询信息选择3订票cFztztcode火车订1A105一EIEInputthecityiouuanttoanslianthenumbepoFrecordhaveBSoPFfCAn11findthetpaipleasepressan5,Pe七。cont:inue选择4没用选择5对你的建议选择7退出系统3心得体会通过这次课程设计,增加了我对软件技术的了解,虽然还不明确软件技术包含的具体内容,但从学习C语言这门课程开始,已发现程序设计的好处,他对我们数学的学习也有很大的帮助。在学习C语言的过程中也学到和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 资产评估服务合同格式
- 身心和谐保证书
- 软化水供应合同
- 进口发电机购销协议
- 连接大学与中学数学的纽带
- 酒店客房用品供应商合同
- 重型设备运输招标细节
- 钢筋工程分包协议书样本
- 铝合金门窗工程招标细则
- 2024年版高校校长职务聘请协议书2篇
- 第六单元测量(大单元教学设计)-2024-2025学年二年级上册数学北师大版
- 大陆漂移课件教学课件
- 地产开发风险评估
- 2025届高考日语新题型助词专项练习【三】
- 舞台人生:走进戏剧艺术学习通超星期末考试答案章节答案2024年
- 互联网中的数据构成(第一课时)教学设计 2023-2024学年苏科版(2023)初中信息技术七年级上册
- 2024年新冀教版七年级英语上册全册教学课件
- 江苏省2024年中考数学试卷九套合卷【附答案】
- 湖南省娄底市2024-2025学年高一物理上学期期末考试试题含解析
- 2024秋期国家开放大学专科《毛泽东思想和中国特色社会主义理论体系概论》一平台在线形考(专题检测一)试题及答案
- 2024年全国职业院校技能大赛中职组(法律实务赛项)考试题库-下(多选、判断题)
评论
0/150
提交评论