设计一个航空客运定票系统(C语言版)

来源:百度知道 编辑:UC知道 时间:2024/05/20 11:59:08
基本要求:
每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。
系统能实现的操作和功能:
查询航线:根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;
承办退票业务:根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。
实现提示:
两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数无法预计,队列也应以链表作为存储结构。

这是我去年设计的,与要求有些不同,不过大同小异啦!可以参考一下,

#include "stdio.h"
#include "string.h"
#include "stdlib.h"

struct airline
{
char air_num[8];
char plane_num[8];
char end_place[20];
int total;
int left;
}airl[3]={{"1001","plane1","Beijing",100,99},{"1002","plane2","Shanghai",
100,99},{"1003","plane3","Guangzhou",100,99}};

struct customer
{
char name[8];
char air_num[8];
int seat_num;
}cust[300]={{"zhasan","1001",1},{"lisi","1002",1},{"wangwu","1003",1}};

void save_air()
{
FILE *fp;
int i;

if((fp=fopen("airline.dat","wb+"))==NULL)
{
printf("the file can not open\n");
return;
}

for(i=0