C语言版飞机订票系统Word格式文档下载.docx

上传人:b****2 文档编号:439903 上传时间:2023-04-28 格式:DOCX 页数:30 大小:118.87KB
下载 相关 举报
C语言版飞机订票系统Word格式文档下载.docx_第1页
第1页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第2页
第2页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第3页
第3页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第4页
第4页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第5页
第5页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第6页
第6页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第7页
第7页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第8页
第8页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第9页
第9页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第10页
第10页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第11页
第11页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第12页
第12页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第13页
第13页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第14页
第14页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第15页
第15页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第16页
第16页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第17页
第17页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第18页
第18页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第19页
第19页 / 共30页
C语言版飞机订票系统Word格式文档下载.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言版飞机订票系统Word格式文档下载.docx

《C语言版飞机订票系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言版飞机订票系统Word格式文档下载.docx(30页珍藏版)》请在冰点文库上搜索。

C语言版飞机订票系统Word格式文档下载.docx

按城市来查询航班

订票程序

退票系统

修改飞机航班的信息

保存文件

读取文件、下载文件

退出

B:

各分块模板的构造流程图:

0.输入航班的信息

航班号

起飞城市

降落城市

出发时间

降落时间

剩下的座位

价格

折扣

1.列出航班的信息

继续y

退出n

2.按航班号查询航班信息

输入所需要查询的航班号

显示这个航班的的信息

3.按城市来查询航班

输入起飞城市

输入降落城市

显示这个航班的信息

4.订票程序

输入号码

输入名字

输入ID

需要定的票数

5.退票系统

输入航班号

输入你ID

确定退票1

否定0

6.修改飞机航班的信息

输入要修改的航班号

重新输入新的航班信息

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<

dos.h>

#include<

stdio.h>

stdlib.h>

string.h>

#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("

按任意键返回主菜单\n"

);

/*提示压任意键继续*/

getch();

/*读入任意字符*/

Welcometo\n\n"

TicketsBookingSystem\n\n"

********************MENU****************\n\n"

0.输入航班信息\n"

1.列出航班的信息\n"

2.按航班号查询航班信息\n"

3.按城市来查询航班\n"

4.订票程序\n"

5.退票系统\n"

6.修改飞机航班的信息\n"

7.保存文件\n"

8.读取和下载文件\n"

9.退出\n"

*****************************************\n\n"

do{

\n输入你的选择项(0~9):

"

/*提示输入选项*/

scanf("

%d"

&

c);

/*输入选择项*/

}while(c<

0||c>

9);

/*选择项不在~9之间重输*/

returnc;

/*返回选择项,主程序根据该数调用相应的函数*/

}

/*输入函数*/

intenter(FLYt[])

inti,k,n,m,w,j;

char*s;

输入航线总数(n<

=40):

/*输入航线总数*/

n);

while(n>

40||n<

0)

{

输入错误!

!

再次输入(0<

n<

}

输入航班的信息\n\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);

************************end*******************\n"

/*按航班号查找记录*/

voidsearch1(FLYt[],intn)

chars[20];

/*保存待查找航班名字符串*/

输入你想查找的航班名:

s);

/*输入待查找航班名*/

i++)/*从第一条记录开始,直到最后一条*/

if(strcmp(s,t[i].planenumber)==0)/*记录中的航班名和待比较的是否相等*/

break;

/*相等,则返回该记录的下标号,程序提前结结束*/

if(i>

n-1)/*如果整数i值大于n-1,说明没找到*/

没有找到\n"

else

/*显示记录*/

/*按起降城市查找记录*/

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))/*记录中的城市和待比较的是否相等*/

/*找到,显示记录*/

/*订票*/

voidbook(FLYt[],intn)

chars[20],number1[10],name1[10],id1[20],flightname1[10];

inti,j=0,m,k,count1;

输入你想预订的票数:

m);

号码姓名证件号订的票数航班号\n"

/*提示信息*/

------------------------------------------------------------\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;

请输入你想退订的航班号:

请输入你的证件号:

/*输入待查找证件号*/

/*显示提示*/

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--;

退票成功!

\n"

/*提示退票成功*/

/*修改航班信息*/

voidchannge(FLYt[],intn)

/*要删除记录的姓名*/

inti,j;

请输入你要修改的航班号:

/*输入航班名*/

/*找到,显示原先记录*/

pleaseinputthenewinformation:

/*输入起始城市*/

/*输入终点城市*/

t[i].shipping);

/*输入座位号*/

/*保存资料*/

voidsave(FLYt[],intn)

FILE*fp;

/*指向文件的指针*/

if((fp=fopen("

record1.txt"

"

wb"

))==NULL)/*打开文件,并判断打开是否正常*/

cannotopenfile\n"

/*没打开*/

exit

(1);

/*退出*/

\n保存文件\n"

/*输出提示信息*/

fprintf(fp,"

n);

/*将记录数写入文件*/

\r\n"

/*将换行符号写入文件*/

%s%s%s%s%s%d%s%s"

t[i].sit);

{fprintf(fp,"

%s%s%s%d%s"

/*格式写入记录*/

fclose(fp);

/*关闭文件*/

****恭喜!

保存成功***\n"

/*显示保存成功*/

/*读入函数,参数为结构体数组*/

intload(FLYt[])

inti,n,j;

rb"

))==NULL)/*打开文件*/

不能打开\n"

/*不能打开*/

fscanf(f

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 法律文书 > 调解书

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2