订票系统
1.需求分析
任务:通过此系统可以实现如下功能:
录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结
构、具体数据自定)
查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,
起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票: 可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:当航班信息改变可以修改航班数据文件
要求:
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序
完成功能;
2.概要设计
在此说明每个部分的算法设计说明(可以是描述算法的流程图),每
个程序中使用的存储结构设计说明(如果指定存储结构请写出该存储
结构的定义)。
主菜单
0
输
入
航
班
的
信
息
1
2
3
4
5
6
7
8
9
列 出
按 航
按
订 票
退 票
修 改
保 存
读 取
退出
航 班
班 号
城
程序
系统
飞 机
文件
文
的 信
查 询
市
息
航 班
来
信息
查
航 班
的 信
息
件 、
下 载
文件
询
航
班
0.输入航班的信息
航班号 起飞城
降落城
出发时
降 落
剩下的
价格
折扣
市
市
间
时间
座位
1.列出航班的信息
继续 y
退出
n
2.按航班号查询航班信息
输入所需要查询的航班号
显示这个航班的的信息
3.按城市来查询航班
输入起飞城市
输入降落城市
显示这个航班的信息
4.订票程序
输入号码 输入名字
输入 ID
需要定的票
航班号
5.退票系统
输入航班号
确定退票 1
数
输入你 ID
否定 0
6.修改飞机航班的信息
输入要修改的航班号
重新输入新的航班信息
7.保存文件
显示保存成功
详细设计
3.源程序
/******头文件(.h)***********/
#include
/*I/O 函数*/
#include
/*其它说明*/
#include
/*字符串函数*/
#include
/*屏幕操作函数*/
#include
/*字符操作函数*/
#define N 20
#define Q 40 /*定义常数表示记录数*/
/*定义数据结构*/
/*乘客信息*/
typedef struct
{
char number[10];/*编号*/
char name[10];
/*姓名*/
char id[20];
/*证件号*/
int count;
/*订票数*/
char flightname[10];/*乘坐航班号*/
}GUEST;
/*航班信息*/
typedef struct
{char planenumber[10];/*航班号*/
char city1[20];
/*起飞城市*/
char city2[20];
/*抵达城市*/
char time1[20];
/*起飞时间*/
char time2[20];
/*降落时间*/
int room;
/*舱位数*/
char price[5];
/*票价*/
char discount[5];
/*折扣*/
GUEST guest[25];
int sit;
}FLY;
/*菜单函数,函数返回值为整数,代表所选的菜单项*/
menu_select()
{
char s[80];
int c;
gotoxy(1,25);/*将光标定为在第 25 行,第 1 列*/
printf("press any key enter menu......\n");/*提示压任意键继续*/
getch(); /*读入任意字符*/
clrscr(); /*清屏*/
gotoxy(1,1);
printf("
printf("
System\n\n");
printf("
Welcome
to\n\n");
Tickets Booking
********************MENU*********************\n\n");
printf("
printf("
printf("
printf("
printf("
printf("
printf("
information\n");
printf("
printf("
0. Enter flight record\n");
1. List the flight information\n");
2. Search flightnumber\n");
3. Search city\n");
4. Book the ticket\n");
5. Quit the ticket\n");
6. Channge the flight
7. Save the file\n");
8. Load the file\n");
printf("
printf("
9. exit\n");
***********************************************\n");
do{
printf("\n
Enter you choice(0~9):"); /*提示输入选项*/
scanf("%s",s); /*输入选择项*/
c=atoi(s); /*将输入的字符串转化为整型数*/
}while(c<0||c>9); /*选择项不在 0~9 之间重输*/
return c; /*返回选择项,主程序根据该数调用相应的函数*/
}
/*输入函数*/
int enter(FLY t[])
{
int i,k,n,m,w,j;
char *s;
clrscr(); /*清屏*/
printf("input the flight's count(n<=40):");/*输入航线总数*/
scanf("%d",&n);
while(n>40||n<0)
{
clrscr();
printf("input error!!!input again(0