飞机订票系统设计.docx
- 文档编号:7735192
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:22
- 大小:217.25KB
飞机订票系统设计.docx
《飞机订票系统设计.docx》由会员分享,可在线阅读,更多相关《飞机订票系统设计.docx(22页珍藏版)》请在冰豆网上搜索。
飞机订票系统设计
C语言课程设计
设计题目:
飞机订票系统设计
院系:
工程学院
姓名:
胡舫瑞
学号:
20081001220
班号:
054081-10
指导教师:
王老师
日期:
2010年1月
一、实习目的
1.掌握在集成环境中编译和运行C程序的方法。
(1)运行visualc++;
(2)启动vc集成环境,输入一个源程序,编译并运行。
掌握程序调试的方法,运行出错时能自行查找。
2.熟练掌握if.switch分支语句的使用。
3.熟练掌握for.while,do.while循环语句的使用。
4.熟练掌握函数的定义、说明、参数传递及嵌套和调用方法。
5.熟练掌握一维数组、二维数组、字符数组的定义、说明和使用方法。
6.熟练掌握结构体和指针的综合应用。
7.掌握自定义函数的使用规则,运用宏定义。
7.掌握文件的使用。
二、实习地点
西区信息实验中心307
三、实习成果
熟练掌握visualc++集成环境的使用方法。
熟练掌握并应用VC程序设计的各个知识点。
掌握结构体和指针的联合使用,掌握自定义函数和各循环体的使用。
并通过各种途径查找所需资料,拓宽视野,培养自学能力和分析问题解决问题的能力。
四、设计题目
[要求]
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额。
试设计一民航订票系统,使之能提供下列服务:
(1)航班信息录入功能(航班信息用文件保存);
(2)航班信息浏览功能;
(3)查询航线:
(至少一种查询方法);
①按航班号查询
②按起点站查询
③按终点站查询
④按飞行时间查询
[提示]
(1)需求分析
航班信息用文件保存:
航班信息浏览功能需要提供显示操作:
要查询航线需要提供查找功能,可提供按照航班号、起点站、终点站和飞行时间查询;另外要提供键盘式选择菜单以实现功能选择。
(2)建立航班结构体,结构体成员包括航班号、起始站、终点站、飞行时间(星期几)、预售票总数、已售票数。
五、程序
#include"stdafx.h"
#include"stdio.h"/*输入输出函数*/
#include"stdlib.h"/*通用应用程序函数*/
#include"string.h"/*字符串函数*/
#include"ctype.h"
#include
#include
#include
#defineN2
typedefstructplane
{
charflight_ID[10];
charStart_Place[10];
charEnd_Place[10];
intBuy_num;
intMax_num;
chartime[20];
}PLANE;
PLANEp[N];
voidmenu();
voidmenu1();
voidbrowse();
voidcount()
{
chara[10];
inti,num=0;
printf("Pleaseentertheplace:
");
scanf("%s",a);
printf("flight_IDStart_placeEnd_placeBuy_numtime\n");
for(i=0;i { if(strcmp(a,p[i].End_Place)==0) { num++; printf("%-10s%-11s%-10s%-10d%-10d%-10d\n",p[i].flight_ID,p[i].Start_Place,p[i].End_Place,p[i].Buy_num,p[i].Max_num,p[i].time); } } printf("\nYouwanttohavestatistics%dofflights! \n",num); getch(); menu1(); } voidorder() { inti,j; PLANEtemp; for(i=0;i { for(j=i;j { if(strcmp(p[i].time,p[j].time)>0) { temp=p[i]; p[i]=p[j]; p[j]=temp; } } } browse(); } voidenter() { inti; system("cls"); printf("Pleaseinputyourflightinformation: \n"); for(i=0;i { printf("flight_ID: "); scanf("%s",p[i].flight_ID); printf("Start_Place: "); scanf("%s",p[i].Start_Place); printf("End_Place: "); scanf("%s",p[i].End_Place); p[i].Buy_num=0; printf("Max_num: "); scanf("%d",&p[i].Max_num); printf("time: "); scanf("%s",p[i].time); } getch(); menu(); } voidbrowse() { inti; system("cls"); printf("Viewflightinformation: \n"); printf("flight_IDStart_PlaceEnd_PlaceBuy_numMax_numtime\n"); for(i=0;i { printf("%15s15%s%15s%9d%9d%15s\n",p[i].flight_ID,p[i].Start_Place,p[i].End_Place,p[i].Buy_num,p[i].Max_num,p[i].time); } getch(); menu(); } voidbuy() { chart[20],place[20]; inti,w=0,num; printf("time"); scanf("%s",t); printf("mudidi"); scanf("%s",place); for(i=0;i { if(strcmp(t,p[i].time)==0&&strcmp(place,p[i].End_Place)==0) { w=1; printf("%s%s%s%d%d%s\n",p[i].flight_ID,p[i].Start_Place,p[i].End_Place,p[i].Buy_num,p[i].Max_num,p[i].time); printf("Howmanyvotesdoyouwant? "); scanf("%d",&num); if(p[i].Buy_num+num>p[i].Max_num) { printf("Thecurrentlackofvotes,Onlythenumberof%d",p[i].Max_num-p[i].Buy_num); } else { p[i].Buy_num=p[i].Buy_num+num; printf("Ticketssuccess! "); } } } if(w==0) printf("Notyouwanttovote! "); getch(); menu1(); } voidback() { charflight_ID[20]; inti,w=0; printf("flight_ID: "); scanf("%s",flight_ID); for(i=0;i { if(strcmp(flight_ID,p[i].flight_ID)==0) { p[i].Buy_num--; printf("Refundsuccess"); w=1; } } if(w==0) printf("Refundfailure"); getch(); menu1(); } voidbowse_time() { chara[20]; inti,w=0; printf("Pleasechecktheimportationofaircrafttakingoftime: "); scanf("%s",a); printf("flight_IDStart_PlaceEnd_PlaceBuy_numMax_numtime\n"); for(i=0;i { if(strcmp(a,p[i].time)==0) { w=1; printf("%s%s%s%d%d%s\n",p[i].flight_ID,p[i].Start_Place,p[i].End_Place,p[i].Buy_num,p[i].Max_num,p[i].time); } } if(w==0) printf("Youdonotwanttoinquiriesflights! \n"); getch(); menu1(); } voidbowse_palce() { chara[10]; inti,w=0; printf("Pleasechecktheimportationoftheaircraftdestination: "); scanf("%s",a); printf("flight_IDStart_PlaceEnd_PlaceBuy_numMax_numtime\n"); for(i=0;i { if(strcmp(a,p[i].End_Place)==0) { w=1; printf("%s%s%s%d%d%d\n",p[i].flight_ID,p[i].Start_Place,p[i].End_Place,p[i].Buy_num,p[i].Max_num,p[i].time); } } if(w==0) printf("Youdonotwanttoinquiriesflights! \n"); getch(); menu1(); } bowse_flight_ID() { chara[10]; inti,w=0; printf("Pleasechecktheimportationofflights,: "); scanf("%s",a); printf("flight_IDStart_PlaceEnd_PlaceBuy_numMax_numtime\n"); for(i=0;i { if(strcmp(a,p[i].flight_ID)==0) { w=1; printf("%s%s%s%d%d%d\n",p[i].flight_ID,p[i].Start_Place,p[i].End_Place,p[i].Buy_num,p[i].Max_num,p[i].time); } } if(w==0) printf("Youdonotwanttoinquiriesflights! \n"); getch(); menu1(); } voidmenu1() { intn,w1; do { system("cls"); puts("\t\t\t\tPlaneticketoperation! \n\n"); puts("\t\t***********MENU***********\n\n"); puts("\t\t\t\t*1.Buyticket"); puts("\t\t\t\t*2.returnticket"); puts("\t\t\t\t*3.browsebytime"); puts("\t\t\t\t*4.browsebyendpalce"); puts("\t\t\t\t*5.browsebyflight_ID"); puts("\t\t\t\t*0.returntomenu"); puts("\n\n\t\t************************\n"); printf("Choiceyournumber(0-5): []\b\b"); scanf("%d",&n); if(n<0||n>6) { w1=1; printf("yourchoiceisnotbetween1and4,Pleaseinputagain: "); getchar(); } elsew1=0; }while(w1==1); switch(n) { case1: buy();break; case2: back();break; case3: bowse_time();break; case4: bowse_palce();break; case5: bowse_flight_ID();break; case0: menu(); } } save() { intw=1; FILE*fp; inti; system("cls"); if((fp=fopen("c: \\ticket.txt","wb"))==NULL) { printf("\nCannotopenfile\n"); returnNULL; } for(i=0;i if(fwrite(&p[i],sizeof(structplane),1,fp)! =1) { printf("filewriteerror\n"); w=0; } if(w==1) { printf("filesaveok! \n"); } fclose(fp); getch(); menu(); } load() { FILE*fp; inti,w; w=1; system("cls"); if((fp=fopen("c: \\ticket.txt","rb"))==NULL) { printf("\nCannotopenfile\n"); w=0; returnNULL; } for(i=0;! feof(fp);i++) { fread(&p[i],sizeof(structplane),1,fp); } fclose(fp); if(w==1) printf("Loadfileok! "); getch(); menu(); } voidmain() { menu(); } voidmenu() { intn,w1; do { system("cls"); puts("\t\t\t\tPlaneticketoperation! \n\n"); puts("\t\t***********MENU***********\n\n"); puts("\t\t\t\t*1.Enternewplane"); puts("\t\t\t\t*2.Browseall"); puts("\t\t\t\t*3.opreration"); puts("\t\t\t\t*4.Savefile"); puts("\t\t\t\t*5.Loadfile"); puts("\t\t\t\t*0.Exit"); puts("\n\n\t\t************************\n"); printf("Choiceyournumber(0-5): []\b\b"); scanf("%d",&n); if(n<0||n>6) { w1=1; printf("yourchoiceisnotbetween1and6,Pleaseinputagain: "); getchar(); } elsew1=0; }while(w1==1); switch(n) { case1: enter();break; case2: browse();break; case3: menu1();break; case4: save();break; case5: load();break; case0: exit(0); } } 六、程序流程图: 主流程图: 主函数流程图: 输入模块流程图: 读取模块流程图: 查找模块流程图: 七、程序使用指南: (1)主界面: (2)输入1: () (输入机票信息) (2)输入2(查询票信息) (3)输入3 (4) 在3的界面下输入1: 输入时间: xingqiyi 目的地: dalian 得到结果: 在3的界面上输入2, (便可以退票) 输入3 输入4: 输入5 在主界面上输入4保存程序 输入5 八、实习心得: 在短短两周的实习期间使我获取了不少新知识也巩固了许多老知识。 以前对C语言的理解只停留在理论层次,也就是个“纸上谈兵”的水平,理论是好的,但实践时就会有各种困难,通过这次实习,我更好的掌握了C语言里的语法,学会了怎样很好的将理论进行实践,体会到了编程的快乐! 在机房里同学们积极的对C语言进行巩固与实习,老师热心讲解同学们提出的各种问题和实习过程中应该注意的事项。 在这次实习中,我体会到了老师和同学们的热心帮助,无论面对学习中多大的困难,同学老师都会帮助你。 我不会的地方就去问老师或者一些学习比较好的同学,他们总是那么的热心,只要你不会,他们都会耐心细致地给你讲解,直到讲会为止。 这次实习不仅让我学习到了更多C语言的知识,提高了分析问题解决问题的能力,学到了怎样更好的将理论进行实践,更让我学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 订票 系统 设计