# include & ltstring.h & gt
# include & ltstdlib.h & gt
#定義編號1000
結構客戶
{ char name[20];
char id[20];
int數;
} t[N];
結構空氣
{ char hangban[10];
int num
char start[20];
char超過[20];
充電時間[10];
int票書;
int飄價;
雙樸哲扣;
} s[N];
int i,j;
int m = 0;
# define print 1 " %-10s % d % 8s % 1s % 10s % 8d % 10d % 12lf \ n ",s[i]。杭班,s[i]。數字,s[i]。開始,s[i]。結束,s[i]。時間,s[i]。樸樹,s[i]。飄佳,s[i]。樸哲扣
# define print 2 " % 12s % 12s % 8d % 10d \ n ",t[i]。id,s[i]。杭班,s[i]。數字,s[i]。樸樹
void shuru();
void shuchu();
void save();
void read();
void chaxun();
void shanchu();
void ding Piao();
void退票();
void main()
{ int j;
做
{ printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf(" * 1。輸入航班信息* \n\n "
"* 2.瀏覽航班信息* \n\n "
"* 3.查詢函數* \n\n "
"* 4.刪除航班信息* \n\n "
"* 5.預訂功能* \n\n "
"* 6.退款功能* \n\n "
"* 0.exit * \ n \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf("請從0-6中選擇,以Enter結尾:\ n \ n ");
scanf("%d ",& ampj);
開關(j)
{
案例1:舒如();
打破;
案例二:舒初();
打破;
案例三:查迅();
打破;
案例四:山初();
打破;
案例五:定票();
打破;
案例6:退票();
打破;
案例0:;
打破;
}
}while(j!=0);
Printf("感謝您的使用,再見!\ n ");
}//主函數結束
虛空舒茹()
{
int y;
for(I = 0;我& ltn;i++)
{
Printf("請輸入航班號:\ n ");
scanf("%s ",s[i].杭班);
Printf("請輸入飛機號:\ n ");
scanf("%d ",& amps[i]。num);
flush all();
Printf("請輸入始發站:\ n ");
scanf("%s ",s[i].開始);
Printf("請輸入終端:\ n ");
scanf("%s ",s[i].over);
flush all();
Printf("請輸入時間:\ n ");
scanf("%s ",s[i].時間);
Printf("請輸入機票數量:\n ",m);
scanf("%d ",& amps[i]。樸樹);
Printf("請輸入票價:\n ",m);
scanf("%d ",& amps[i]。飄佳);
Printf("請輸入票價折扣:\n ",m);
scanf("%lf ",& amps[i]。樸哲扣);
m++;
Printf("已經輸入了%d條消息。妳想繼續嗎?按任意鍵繼續,按0結束”,m);
flush all();
scanf("%d ",& ampy);
如果(y==0)
{
save();
舒初();
打破;
}
}
}
void shuchu()
{
char w[10];
read();
Printf("航班號、航班號、始發站、終點站時間、票號、票價折扣\ n ");
for(I = 0;我& ltm;i++)
{
printf(print 1);
}
Printf("請按任意鍵結束並返回上級菜單:\ n ");
scanf("%s ",w);
}
無效保存()
{
FILE *fp,* FP 1;
if((fp=fopen("a.txt "," wb"))==NULL)
{
Printf("創建文件失敗!\ n \ n ");
getchar();
返回;
}
if((fp1=fopen("b.txt "," wb"))==NULL)
{
Printf("創建文件失敗!\ n \ n ");
getchar();
返回;
}
for(I = 0;我& ltm;i++)
if(fwrite(& amp;s[i],sizeof(struct air),1,fp)==0)
Printf("無法將數據輸入文件!\ n \ n ");
fprintf(fp1,“%d”,m);
fclose(FP);
fclose(FP 1);
}
無效讀取()
{
FILE *fp,* FP 1;
if((fp=fopen("a.txt "," Rb ")= = NULL)
{
Printf("錯誤,請檢查文件是否存在,按任意鍵返回主菜單");
getchar();
}
if((fp1=fopen("b.txt "," rb"))==NULL)
{
Printf("創建文件失敗!\ n \ n ");
getchar();
返回;
}
fscanf(fp1," %d ",& ampm);
fclose(FP 1);
for(I = 0;我& ltm;i++)
{
弗雷德(& amps[i],sizeof(air),1,FP);
}
fclose(FP);
}
void查訊()
{
char name 1[20];
char name 2[20];
char c[10],no[20];
int n;
做
{
Printf("請選擇查詢信息:\ n \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf("* 1。查詢航空公司信息* \n\n "
"* 2.查詢客戶信息* \n\n "
"* 0.return * \ n \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf("請從0-2中選擇:\n\n "
"按其他鍵並以Enter結束以返回主菜單:\ n \ n ");
scanf("%d ",& ampn);
如果(n==0)
打破;
其他
開關(n)
{案例1:
Printf("請輸入始發站名稱:\ n ");
scanf("%s ",name 1);
Printf("請輸入終端名:\ n ");
scanf("%s ",name 2);
打破;
案例二:
Printf("請輸入客戶的身份證號:\ n ");
scanf("%s ",否);
打破;
}
read();
for(I = 0;我& ltm;i++)
{
if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)
printf(" \ n搜索航班信息成功!\ n ");
Printf("航班號、航班號、始發站、終點站時間、票號、票價折扣\ n ");
printf(print 1);
打破;
}
其他
if(strcmp(t[i])。id,no)==0)
{
printf(" \ n成功找到客戶信息!\ n ");
Printf("身份證號、航班號、航班號、票號");
printf(print 2);
打破;
}
}
Printf("沒有您需要的信息或搜索已完成:\n\n "
“妳想繼續搜索嗎?請鍵入y或n以Enter結束\ n ");
scanf("%s ",c);
}while(strcmp(c," y ")= = 0);
}
虛空山初()
{
char name 1[20];
char name 2[20];
char c[10];
int no,n;
做
{
Printf("請選擇刪除以回車結束:\ n \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf("* 1。按航班號刪除*\n\n "
"* 2.按航空公司刪除*\n\n "
"* 0.return * \ n \ n ");
printf(" * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ");
Printf("請選擇0-2以回車結束:\ n ");
scanf("%d ",& ampn);
如果(n==0)
打破;
開關(n)
{
案例1:
Printf("請輸入航班號:\ n ");
scanf("%d ",& amp否);
read();
打破;
案例二:
Printf("請輸入始發站名稱:\ n ");
scanf("%s ",name 1);
Printf("請輸入終端名:\ n ");
scanf("%s ",name 2);
read();
打破;
}
for(I = 0;我& ltm;i++)
{
如果(s[i]。num==no||strcmp(s[i].start,name 1)= = 0 & amp;& ampstrcmp(s[i].over,name2)==0)
{
s[I]= s[m-1];
m-;
}
}
Printf("搜索完成或沒有此類信息\ n \ n ");
Printf("繼續刪除\ n ");
Printf("請鍵入y或n以Enter結束\ n ");
scanf("%s ",c);
save();
如果(!strcmp(c," y "))
Printf("請按任意鍵返回上層菜單:\ n ");
打破;
}while(n!=1。& ampn!= 2 & amp& ampn!=0);
}
作廢定票()
{ int n;
char a[10],b[10];
做
{
Printf("請輸入客戶ID號:\ n ");
scanf("%d ",& ampt[i]。id);
Printf("請輸入航班號:\ n ");
scanf("%s ",b);
Printf("請輸入飛機號:\ n ");
scanf("%d ",& amps[i]。num);
flush all();
m++;
Printf("請輸入您要預訂的機票數量:\ n ");
scanf("%d ",& ampn);
if(strcmp(s[i].杭班,b)!=0)
{
Printf("請輸入有效的機票號碼!\ n ");
打破;
}
其他
如果(s[i]。樸樹!= 0 & amp& amps[i]。飄書& gt=n)
{
s[i]。飄舒=s[i]。樸樹-n;
save();
Printf("預訂成功,按任意鍵返回主菜單!\ n \ n ");
getchar();
打破;
}
Printf("要繼續嗎?請輸入y或n以回車結束:\ n ");
scanf("%s ",a);
}while(!strcmp(a," y "));
}
作廢退票()
{
int n;
char a[10],b[20];
做
{printf("請輸入客戶ID號:\ n ");
scanf("%s ",b);
Printf("請輸入您要退票的機票數量:\ n ");
scanf("%d ",& ampn);
if(strcmp(b,t[i])。id)==0)
{s[i]。飄舒=s[i]。樸樹+n;
save();
Printf("退款成功!\ n \ n ");}
Else {printf("退款失敗!\ n ");
Printf("要繼續嗎?請鍵入y或n以Enter結束:\ n \ n ");
scanf("%s ",a);
}while(!strcmp(a," y "));
getchar();
}