适合初学者,基本上没什么难搞懂的地方,都是比较简单的结构体,循环。
功能要求及说明:
1)假设该民航有若干航班,要求实现增加航班和取消某个航班的功能。
2)查询:根据用户提出的终到站查询航班号、售票情况等航班信息;也可根据航班号,列出该航班已订票的乘客名单。
3)订票:根据航班号为客户订票,如该航班有余票,则为客户订票;如该航班已满员,则显示相应信息。
4)退票:按乘客要求退出已预定的机票。
代码如下:
/本文使用C++/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
const int MaxFlight=50; //最大的航班数
const int MaxPassenger=1000; //最大乘客数
int FlightNum=0; //已经存在的航班个数
struct Passenger { //结构体 存放乘客信息
char name[20]; //姓名
long long IDnum;
int seat; //座位号
};
struct Flight { //存放航班信息的结构体
int num; //航班号
char start[20]; //起飞地
char end[20]; //终点站
int seatnum; //总座位数
int ticket; //余票数
Passenger person[MaxPassenger]; //存放该航班的乘客信息
int tit[MaxPassenger]; //存放该航班的座位号信息
};
Flight fly[MaxFlight]; //定义一个存放航班的数组
void menu();
void Creat();
void Delete();
void Select();
void Reservation();
void ReturnTic();
int main()
{
menu();
char n;
char p;
while(true)
{
scanf("%s",&n);
switch(n) //switch-case实现主菜单之中的功能
{
case '1':
printf("您的选择是增加航班,请继续:\n");
Creat();
printf("\n\n");
menu();
break;
case '2':
if(FlightNum==0) //如果航班个数为零
{
printf("暂无航班!\n");
menu();
break;
}
printf("您的选择是取消航班,请继续:\n");
Delete();
printf("\n\n");
menu();
break;
case '3