飞机订票系统设计Word下载.docx
《飞机订票系统设计Word下载.docx》由会员分享,可在线阅读,更多相关《飞机订票系统设计Word下载.docx(22页珍藏版)》请在冰豆网上搜索。
三、实习成果
熟练掌握visualc++集成环境的使用方法。
熟练掌握并应用VC程序设计的各个知识点。
掌握结构体和指针的联合使用,掌握自定义函数和各循环体的使用。
并通过各种途径查找所需资料,拓宽视野,培养自学能力和分析问题解决问题的能力。
四、设计题目
[要求]
假定民航机场共有n个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和一定的成员定额。
试设计一民航订票系统,使之能提供下列服务:
(1)航班信息录入功能(航班信息用文件保存);
(2)航班信息浏览功能;
(3)查询航线:
(至少一种查询方法);
①按航班号查询
②按起点站查询
③按终点站查询
④按飞行时间查询
[提示]
(1)需求分析
航班信息用文件保存:
航班信息浏览功能需要提供显示操作:
要查询航线需要提供查找功能,可提供按照航班号、起点站、终点站和飞行时间查询;
另外要提供键盘式选择菜单以实现功能选择。
(2)建立航班结构体,结构体成员包括航班号、起始站、终点站、飞行时间(星期几)、预售票总数、已售票数。
五、程序
#include"
stdafx.h"
stdio.h"
/*输入输出函数*/
stdlib.h"
/*通用应用程序函数*/
string.h"
/*字符串函数*/
ctype.h"
#include<
stdio.h>
string.h>
conio.h>
#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);
flight_IDStart_placeEnd_placeBuy_numtime\n"
for(i=0;
i<
N;
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);
}
}
\nYouwanttohavestatistics%dofflights!
\n"
num);
getch();
menu1();
voidorder()
inti,j;
PLANEtemp;
for(i=0;
for(j=i;
j<
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"
);
Pleaseinputyourflightinformation:
flight_ID:
scanf("
p[i].flight_ID);
Start_Place:
p[i].Start_Place);
End_Place:
p[i].End_Place);
p[i].Buy_num=0;
Max_num:
%d"
&
p[i].Max_num);
time:
p[i].time);
menu();
voidbrowse()
{
Viewflightinformation:
flight_IDStart_PlaceEnd_PlaceBuy_numMax_numtime\n"
%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);
voidbuy()
chart[20],place[20];
inti,w=0,num;
time"
t);
mudidi"
place);
if(strcmp(t,p[i].time)==0&
&
strcmp(place,p[i].End_Place)==0)
w=1;
%s%s%s%d%d%s\n"
Howmanyvotesdoyouwant?
num);
if(p[i].Buy_num+num>
p[i].Max_num)
Thecurrentlackofvotes,Onlythenumberof%d"
p[i].Max_num-p[i].Buy_num);
else
p[i].Buy_num=p[i].Buy_num+num;
Ticketssuccess!
if(w==0)
Notyouwanttovote!
voidback()
charflight_ID[20];
inti,w=0;
flight_ID);
if(strcmp(flight_ID,p[i].flight_ID)==0)
p[i].Buy_num--;
Refundsuccess"
Refundfailure"
voidbowse_time()
chara[20];
Pleasechecktheimportationofaircrafttakingoftime:
if(strcmp(a,p[i].time)==0)
Youdonotwanttoinquiriesflights!
voidbowse_palce()
Pleasechecktheimportationoftheaircraftdestination:
%s%s%s%d%d%d\n"
bowse_flight_ID()
Pleasechecktheimportationofflights,:
if(strcmp(a,p[i].flight_ID)==0)
voidmenu1()
intn,w1;
do
system("
puts("
\t\t\t\tPlaneticketoperation!
\n\n"
\t\t***********MENU***********\n\n"
\t\t\t\t*1.Buyticket"
\t\t\t\t*2.returnticket"
\t\t\t\t*3.browsebytime"
\t\t\t\t*4.browsebyendpalce"
\t\t\t\t*5.browsebyflight_ID"
\t\t\t\t*0.returntomenu"
\n\n\t\t************************\n"
Choiceyournumber(0-5):
[]\b\b"
n);
if(n<
0||n>
6)
w1=1;
yourchoiceisnotbetween1and4,Pleaseinputagain:
getchar();
elsew1=0;
}while(w1==1);
switch(n)
case1:
buy();
break;
case2:
back();
case3:
bowse_time();
case4:
bowse_palce();
case5:
bowse_flight_ID();
case0:
save()
intw=1;
FILE*fp;
if((fp=fopen("
c:
\\ticket.txt"
"
wb"
))==NULL)
\nCannotopenfile\n"
returnNULL;
if(fwrite(&
p[i],sizeof(structplane),1,fp)!
=1)
filewriteerror\n"
w=0;
if(w==1)
filesaveok!
fclose(fp);
load()
inti,w;
w=1;
rb"
!
feof(fp);
fread(&
p[i],sizeof(structplane),1,fp);
Loadfileok!
voidmain()
voidmenu()
\t\t\t\t*1.Enternewplane"
\t\t\t\t*2.Browseall"
\t\t\t\t*3.opreration"
\t\t\t\t*4.Savefile"
\t\t\t\t*5.Loadfile"
\t\t\t\t*0.Exit"
yourchoiceisnotbetween1and6,Pleaseinputagain:
enter();
browse();
menu1();
save();
load();
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语言的知识,提高了分析问题解决问题的能力,学到了怎样更好的将理论进行实践,更让我学习到了同学们之间的那种团队精神,为我以后踏入社会工作准备了很多良好的知识与经验。