飞机订票系统Word文档下载推荐.docx
- 文档编号:21818874
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:22
- 大小:81.66KB
飞机订票系统Word文档下载推荐.docx
《飞机订票系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《飞机订票系统Word文档下载推荐.docx(22页珍藏版)》请在冰豆网上搜索。
航班
班号
城
程序
系统
飞机
文件
文
航
的信
查询
市
件、
班
息
来
下载
的
信息
查
信
询
B:
各分块模板的构造流程图:
0.输入航班的信息
号
起飞城
降落城
出发时
间
降落时
剩下的座
位
价
格
折
扣
1.列出航班的信息
继续y
退出n
2.按航班号查询航班信息
输入所需要查询的航班号
显示这个航班的的信息
3.按城市来查询航班
输入起飞城市
输入降落城市
显示这个航班的信息
4.订票程序
输入号码输入名字输入ID需要定的票航班号数
6.修改5.飞退
机票航系班统的信息
输入航班号输入要修
改的航班号输入你ID
确定退票1重新输入
新的航班信息否定0
7.保存文件
显示保存成功
3:
功能函数设计:
(1):
订票系统主菜单函数menu_select()
本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。
其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择
(2):
工作人员管理函数enter()&
change()系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。
enter()函数的构造就是为了解决这个问题。
而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()
函数。
(3):
列出航班信息的函数list()乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。
(4)乘客具体查询函数search()本函数分两个分函数:
search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。
(5)票务管理函数book()&
quit()
通过book()函数可以实现乘客的订票操作,通过quit()可以实现乘客的退票操作。
(6)文件操作函数save()&
load()
3.源程序代码:
(WINTC下运行)
#include<
>
#defineN20
#defineQ40
/*定义数据结构*/
/*乘客信息*/
typedefstruct
{
charnumber[10];
/*编号*/
charid[20];
/*证件号*/
charname[10];
/*姓名*/
intcount;
/*订票数*/
charflightname[10];
/*乘坐航班号*/}GUEST;
/*航班信息*/
{charplanenumber[10];
/*航班号*/
charTake_off_city[20];
/*起飞城市*/
charArrived_in_city[20];
/*抵达城市*/
chartakeoff_time[20];
/*起飞时间*/
charLanding_time[20];
/*降落时间*/
intshipping;
/*舱位数*/
charprice[5];
/*票价*/
chardiscount[5];
/*折扣*/
GUESTguest[20];
intsit;
}FLY;
/*菜单函数,函数返回值为整数,代表所选的菜单项*/menu_select()
intc;
printf(getch();
printf(printf(printf(
"
按任意键返回主菜单\n"
);
/*提示压任意键继续*/
/*读入任意字符*/
Welcometo\n\n"
TicketsBookingSystem\n\n"
********************MENU****************\n\n"
);
printf(printf(printf(
0.
1.
2.
printf(printf(printf(printf(printf(printf(printf(
3.
4.
5.
6.
7.
8.
9.
输入航班信息\n"
列出航班的信息\n"
按航班号查询航班信息按城市来查询航班\n"
订票程序\n"
退票系统\n"
修改飞机航班的信息\n"
保存文件\n"
读取和下载文件\n"
退出\n"
\n"
printf(do{printf(
*****************************************\n\n"
scanf(
输入你的选择项(0~9):
/*提示输入选项*/"
%d"
&
c);
/*输入选择项*/
\n
折扣\n"
}while(c<
0||c>
9);
/*选择项不在~9之间重输*/
returnc;
/*返回选择项,主程序根据该数调用相应的函数*/
}
/*输入函数*/
intenter(FLYt[])
inti,k,n,m,w,j;
char*s;
printf("
输入航线总数(n<
=40):
/*输入航线总数*/
scanf("
n);
while(n>
40||n<
0)
输入错误!
!
再次输入(0<
n<
输入航班的信息\n\n"
/*提示信息*/
航班号起飞城市降落城市出发时间降落时间剩下的座位价格
for(i=0;
i<
n;
i++)
%s"
t[i].planenumber);
/*输入姓名*/
t[i].Take_off_city);
/*输入起飞城市*/
t[i].Arrived_in_city);
/*输入降落城市*/
t[i].takeoff_time);
/*输入起飞时间*/
t[i].Landing_time);
/*输入降落时间*/
t[i].shipping);
/*输入舱位数*/
t[i].price);
/*输入票价*/
t[i].discount);
/*输入折扣*/
\n"
i++)t[i].sit=0;
returnn;
/*返回记录条数*/
/*显示记录,参数为记录数组和记录条数*/
voidlist(FLYt[],intn)
inti;
%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7s\n"
t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
/*按航班号查找记录*/
voidsearch1(FLYt[],intn)
chars[20];
/*保存待查找航班名字符串*/
输入你想查找的航班名:
s);
/*输入待查找航班名*/
i++)/*从第一条记录开始,直到最后一条*/
if(strcmp(s,t[i].planenumber)==0)/*记录中的航班名和待比较的是否相等*/break;
/*相等,则返回该记录的下标号,程序提前结结束*/
if(i>
n-1)/*如果整数i值大于n-1,说明没找到*/
没有找到\n"
else
/*显示记录
航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣\n"
*/
/*按起降城市查找记录*/
voidsearch2(FLYt[],intn)
chars1[20];
chars2[20];
输入起飞城市名称:
s1);
/*输入起飞城市名*/
输入降落城市名称:
s2);
/*输入降落城市名*/
/*记录中
if((strcmp(s1,t[i].Take_off_city)==0)&
&
(strcmp(s2,t[i].Arrived_in_city)==0))
的城市和待比较的是否相等*/
break;
/*找到,显
示记录*/
}/*订票*/voidbook(FLYt[],intn)
chars[20],number1[10],name1[10],id1[20],flightname1[10];
inti,j=0,m,k,count1;
输入你想预订的票数:
m);
号码姓名证件号订的票数航班号\n"
for(k=0;
k<
m;
k++)
number1);
name1);
/*输入订票客户姓名*/
id1);
/*输入证件号*/
count1);
/*输入订票票数*/
flightname1);
/*输入航班号*/
*/
if(strcmp(flightname1,t[i].planenumber)==0)/*记录中的航班名和待比较的是否相等
j=t[i].sit;
strcpy(t[i].guest[j].number,number1);
strcpy(t[i].guest[j].name,name1);
strcpy(t[i].guest[j].id,id1);
t[i].guest[j].count=count1;
strcpy(t[i].guest[j].flightname,flightname1);
t[i].shipping=t[i].shipping-count1;
t[i].sit++;
对不起!
没有此航班\n"
m=m+2;
k++;
/*退票*/
voidquit(FLYt[],intn)
chars1[20],s2[20];
/*保存待查找航班名和证件号字符串*/
inti,k,j,h,l,ch;
请输入你想退订的航班号:
/*输入待查找航班名*/printf("
请输入你的证件号:
/*输入待查找证件号*/
/*显示提示*/
for(j=0;
j<
t[i].sit;
j++)
if((strcmp(s1,t[i].guest[j].flightname)==0)&
(strcmp(s2,t[i].guest[j].id)==0))
%-11s%-16s%-16s%-14d%-10s\n"
t[i].guest[j].number,t[i].guest[j].name,t[i].guest[j].id,t[i].guest[j].count,t[i].guest[j].flightname);
t[i].shipping=t[i].shipping+t[i].guest[j].count;
l=j;
h=i;
i=h;
你是否确认删除(1/0)\n"
/*确认是否要删除*/
ch);
/*输入一个整数或*/
if(ch==1)/*如果确认删除整数为*/
for(k=l+1;
/*将后一条记录的姓名拷贝到前一条*/
strcpy(t[i].guest[k-1].number,t[i].guest[k].number);
strcpy(t[i].guest[k-1].name,t[i].guest[k].name);
strcpy(t[i].guest[k-1].id,t[i].guest[k].id);
t[i].guest[k-1].count=t[i].guest[k].count;
strcpy(t[i].guest[k-1].flightname,t[i].guest[k].flightname);
t[i].sit--;
退票成功!
/*提示退票成功*/
/*修改航班信息*/
voidchannge(FLYt[],intn)
/*要删除记录的姓名*/
inti,j;
请输入你要修改的航班号:
/*输入航班名*/
示原先记录*/printf("
pleaseinputthenewinformation:
/*输入起始城市*/
t[i].Arrived_in_city);
/*输入终点城市*/
t[i].takeoff_time);
/*输入起飞时间*/
t[i].Landing_time);
/*输入降落时间*/
t[i].shipping);
/*输入座位号*/
t[i].discount);
/*输入折扣*/
/*保存资料*/
voidsave(FLYt[],intn)
FILE*fp;
/*指向文件的指针*/
if((fp=fopen("
"
wb"
))==NULL)/*打开文件,并判断打开是否正常*/
cannotopenfile\n"
/*没打开*/
exit
(1);
/*退出*/
\n保存文件\n"
/*输出提示信息*/
fprintf(fp,"
n);
/*将记录数写入文件*/
\r\n"
/*将换行符号写入文件*/
%s%s%s%s%s%d%s%s"
t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].disc
ount);
t[i].sit);
{fprintf(fp,"
%s%s%s%d%s"
t[i].guest[j].number,t[i].guest[j].name,t[i].guest[j]
.id,t[i].guest[j].count,t[i].guest[j].flightname);
/*格式写入记录*/
fclose(fp);
/*关闭文件*/
****恭喜!
保存成功***\n"
/*显示保存成功*/
/*读入函数,参数为结构体数组*/
intload(FLYt[])
inti,n,j;
rb"
))==NULL)/*打开文件*/
不能打开\n"
/*不能打开*/
fscanf(fp,"
/*读入记录数*/for(i=0;
{fscanf(fp,"
t[i].planenumber,t[i].Take_off_city
t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,&
t[i].shipping,t[i].price,t[i].discount);
fscanf(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 订票 系统