• 大小: 11KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: 其他
  • 标签: 数据结构  

资源简介

任务:通过此系统可以实现如下功能: 1)、录入: 可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 2)、查询: 可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 3)、订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 4)、退票: 可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 5)、修改航班信息: 当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 界面要求:有合理的提示,每个功能可以设立菜单,根据提示,可以完成相关的功能要求。 存储结构:学生自己根据系统功能要求自己设计。请在最后的上交资料中指明你用到的存储结构; 测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。测试数据及测试结果请在上交的资料中写明;

资源截图

代码片段和文件信息


#include 
#include 
#include 
#include 
#define PS &(p->number)p->time_gop->time_top->place_gop->place_to&(p->price)&(p->discount)&(p->seat_total)&(p->seat_odd) 
#define PP p->numberp->time_gop->time_top->place_gop->place_top->pricep->discountp->seat_totalp->seat_odd 
#define CS p->name&(p->numb_id)&(p->amount_t)&(p->numb_p) 

struct plane_inf{ 
int number; 
char time_go[16]; 
char time_to[16]; 
char place_go[20]; 
char place_to[20]; 
int price; 
float discount; 
int seat_total; 
int seat_odd; 
struct plane_inf * next; 
};/*航班信息*/ 

struct cust_inf{ 
char name[20]; 
int numb_id; 
int amount_t; 
int numb_p; 
int numb_ord; 
struct cust_inf * next; 
};/*顾客信息*/ 

typedef struct plane_inf p_inf; 
typedef struct cust_inf c_inf; 

void luru(); 
void xiugai(); 
void chaxun(); 
void dingpiao(); 
void tuipiao(); 
int xg_hb(int numberint amount_tp_inf * p); 
p_inf * read_p(); 
c_inf * read_c(); 
void write_p(p_inf *); 
void write_c(c_inf *);
void free_p(p_inf *); 
void free_c(c_inf *); 
void main() 

int choice; 
int i=0; 
do 

printf(“**************航空订票系统**************\n\n“); 
printf(“       录入航班信息*********1\n\n“); 
printf(“       修改航班信息*********2\n\n“); 
printf(“       查询航班信息*********3\n\n“); 
printf(“       顾客订票*************4\n\n“); 
printf(“       顾客退票*************5\n\n“); 
printf(“       退出*****************0\n\n“); 
printf(“****************************************\n“); 
printf(“       请选择“); 
scanf(“%d“&choice); 
system(“cls“); 
switch(choice) 

case 0: 
exit(0); 
case 1: 
luru(); 
break; 
case 2: 
xiugai(); 
break; 
case 3: 
chaxun(); 
break; 
case 4: 
dingpiao(); 
break; 
case 5: 
tuipiao(); 
break; 
default: 
printf(“您的输入有误,请重新选择:\n\n“); 

}while(choice!=0); 
}  
void luru() 

char choice; 
p_inf * p; 
FILE * fp; 

if((fp=fopen(“d:\\plane.dat““ab“))==NULL) 

fp=fopen(“d:\\plane.dat““wb“); 

else 


do 

printf(“请输入要录入的航班信息,各项内容之间以空格键或Tab键分开\n\n“); 
printf(“航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数\n“); 
p=(p_inf *)malloc(sizeof(p_inf)); 
p->discount=10.0; 
p->next=NULL; 
fflush(stdin); 
scanf(“%d%s%s%s%s%d%f%d%d“PS); 
fwrite(psizeof(p_inf)1fp); 
printf(“********************************************************************************“); 
printf(“继续录入请输入Y,否则返回上一级菜单\n“); 
fflush(stdin); 
choice=getch(); 
}while(choice==‘Y‘); 
fclose(fp); 

void xiugai() 

int number; 
p_inf *p *head; 

head=read_p(); 
printf(“请输入需要修改的航班号:“); 
scanf(“%d“&number); 
p=head; 
while(p!=NULL) 

if(p->number==number) 

printf(“\n请输入要修改后的航班信息,各项内容之间以空格键或Tab键分开\n\n“); 
printf(“航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数\n“); 
scanf(“%d%s%s%s%s%d%f%d%d“PS); 
break; 

p=p->next; 
}  
printf(“********************************************************************************“); 
if(p!=NULL) 

write_p(head); 
printf(“您已成功修改%d号航班\n“p->number); 

el

评论

共有 条评论