❶ 所有航空公司二字代碼
1、CA中國國際航空公司:中國國際航空股份有限公司(AIR CHINA),簡稱「國航」,於1988年在北京正式成立,是中國唯一載國旗飛行的民用航空公司。
2、ZH 深圳航空公司:深圳航空有限責任公司400成立於1992年10月,是由由廣東廣控(集團)公司、中國國際航空公司等五家公司共同投資的航空公司,1993年9月17日正式開航。
3、MU中國東方航空股份有限公司:中國東方航空股份有限公司,是一家總部位於中國上海的國有控股航空公司,在原中國東方航空集團公司的基礎上,兼並中國西北航空公司,聯合中國雲南航空公司重組而成。
4、CJ中國北方航空公司:中國北方航空公司(China Northern Airlines)成立於1990年6月16日,是當時中國民航總局直屬六大骨幹航空公司之一。公司總部在遼寧沈陽,基地設在沈陽桃仙國際機場。
5、CZ中國南方航空股份有限公司:中國南方航空股份有限公司(China Southern Airlines,簡稱南航),總部設在廣州,成立於1995年3月25日,以藍色垂直尾翼鑲紅色木棉花為公司標志。
6、HU海南航空股份有限公司 :海南航空控股股份有限公司(Hainan Airlines),於1993年成立,是中國發展最快、最有活力的航空公司之一,致力於為旅客提供全方位無縫隙的航空服務。
航空公司代碼是各國航空公司的代碼、簡稱·。兩字代碼在航空公司間使用普遍。
航空公司(Airlines)是指以各種航空飛行器為運輸工具,以空中運輸的方式運載人員或貨物的企業。航空公司是以各種航空飛行器為運輸工具為乘客和貨物提供民用航空服務的企業。
❷ c語言程序設計飛機訂票系統
呵呵 這個也是我在網上搜的 挺不錯 沒有錯誤
#include<stdio.h> //標准輸入、輸出頭文件
#include<string.h> //包含字元串函數處理頭文件
#include<stdlib.h> //包含動態存儲與釋放函數頭文件
#define N 10000
struct air //定義結構體數組
{
int num;
char start[20];
char over[20];
char time[10];
int count;
}s[N];
int i;
int m=0;
#define PRINT "%-d%12s%12s%10s%12d\n",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //定義輸出格式
void input(); //輸入航班信息
void print(); //輸出航班信息
void save(); //保存航班信息
void read(); //讀取航班信息
void search(); //查找航班信息
void shanchu(); //刪除航班信息
void dingpiao(); //訂票信息
void tuipiao(); //退票信息
void xiugai(); //修改信息
void main()
{
int j;
printf(" ★---您好,歡迎進入中國民航管理系統!---★\n");
printf("================================================================================\n");
do
{
printf(" -------- ☆ 1.輸入航班信息 ☆-------- \n\n"
" -------- ☆ 2.瀏覽航班信息 ☆-------- \n\n"
" -------- ☆ 3.修改航班信息 ☆-------- \n\n"
" -------- ☆ 4.查找航班信息 ☆-------- \n\n"
" -------- ☆ 5.刪除航班信息 ☆-------- \n\n"
" -------- ☆ 6.訂票信息 ☆-------- \n\n"
" -------- ☆ 7.退票信息 ☆-------- \n\n"
" -------- ☆ 0.退出 ☆-------- \n\n");
printf("================================================================================\n");
printf("請在0-7中選擇以回車鍵結束:\n\n");
scanf("%d",&j);
switch(j)
{
case 1: input();//調用輸入模塊
break;
case 2:print();//調用列印模塊
break;
case 3:xiugai();//調用修改模塊
break;
case 4:search();//調用查找模塊
break;
case 5:shanchu(); //調用刪除模塊
break;
case 6:dingpiao();//調用訂票模塊
break;
case 7:tuipiao();//調用退票模塊
break;
case 0:;
break;
}
}while(j!=0); //判斷結束
printf("謝謝使用,再見!\n");
}//主函數結束
void input()//列印模塊程序
{
char f[]="2008china"; //設置密碼
int y;
printf("請輸入密碼並以回車鍵結束:\n\n");
scanf("%s",f); //讀取密碼
if(strcmp(f,"2008china")==0)
{
printf("請依次輸入航班信息(機票數位0結束輸入):\n\n"
"完成輸入信息請鍵入w以回車鍵結束\n\n"); //列印提示信息
printf("--------------------------------------------------------------------------\n");
for(i=0;i<N;i++)
{
printf("請輸入航班號:\n");
scanf("%d",&s[i].num); //讀取航班號
printf("請輸入起始站:\n");
scanf("%s",s[i].start);//讀取起始站
printf("請輸入終點站:\n");
scanf("%s",s[i].over);//讀取終點站
printf("請輸入時間:\n");
scanf("%s",s[i].time);//讀取時間
printf("請輸入機票數(機票數為0結束輸入):\n",m);
scanf("%d",&s[i].count);//讀取機票數
m++;
printf("第%d個信息已經輸完是否繼續?按任意鍵繼續,按 0結束",m);
scanf("%d",&y);
if(y==0)
{
save();//將結構體信息存檔
print();//輸出輸入的航班信息
break;
}
}
}
else
printf("輸入密碼錯誤!請檢查您的密碼是否正確!謝謝!再見!\n\n");
}
void save()//保存模塊程序
{
FILE *fp,*fp1;//定義文件指針
if((fp=fopen("chen.dat","wb"))==NULL)//打開文件並判斷是否出錯
{
printf("創建文件失敗!\n\n");//列印出錯提示
getchar();
return;
}
if((fp1=fopen("hao.dat","wb"))==NULL)//打開文件並判斷是否出錯
{
printf("創建文件失敗!\n\n");//列印出錯提示
getchar();
return;
}
for(i=0;i<m;i++)
if(fwrite(&s[i],sizeof(struct air),1,fp)==0)//向文件寫入數據,並判斷是否出錯
printf("向文件輸入數據失敗!\n\n");
fprintf(fp1,"%d",m);
fclose(fp);//關閉文件
fclose(fp1);//關閉文件
}
void read()//從文件讀取信息模塊
{
FILE *fp,*fp1;//定義文件指針
if((fp=fopen("chen.dat","rb"))==NULL)//打開文件,並判斷是否出錯
{
printf("出錯,請檢查文件是否存在,按任意鍵返回住菜單");//列印出錯提示
getchar();
}
if((fp1=fopen("hao.dat","rb"))==NULL)//打開文件並判斷是否出錯
{
printf("創建文件失敗!\n\n");//列印出錯提示
getchar();
return;
}
fscanf(fp1,"%d",&m);
fclose(fp1);//關閉文件
for(i=0;i<m;i++)
{
fread(&s[i],sizeof(air),1,fp);//從文件中讀取信息
}
fclose(fp);//關閉文件
}
void print()//列印模塊
{
char w[10];
read();//調用讀取文件函數
printf("航班號 起始站 終點站 時間 機票數\n");
for(i=0;i<m;i++)
{
printf(PRINT);//列印信息
}
printf("請按任意鍵回車鍵結束返回上層菜單以:\n");
scanf("%s",w);
}
void search()//查詢模塊
{
char name1[20];
char name2[20];
char ii[10];
int n,no;
do
{
printf("請選擇查找方式:\n\n");//列印查詢方式菜單
printf("1.按航班號查找\n\n"
"2.按終點站查找\n\n"
"3.按航線查找\n\n"
"0.返回\n\n");
printf("請在0-3中選擇:\n\n"
"按其他鍵以回車鍵結束返回主菜單:\n\n");
scanf("%d",&n);//讀取查找方式
if(n==0)
break;
switch(n)
{
case 1:
printf("請輸入航班號:\n");
scanf("%d",&no);//航班號
break;
case 2:
printf("請輸入終點站名稱:\n");
scanf("%s",name2);//讀取終點站
break;
case 3:
printf("請輸入起始站名稱:\n");
scanf("%s",name1);//讀取起始站
printf("請輸入終點站名稱:\n");
scanf("%s",name2);//終點站
break;
}
read();//調用讀取函數
for(i=0;i<m;i++)
{
if(strcmp(s[i].over,name1)==0||strcmp(s[i].over,name2)==0)//按終點站起始站判斷輸出條件
{
printf("\n查找航班信息成功!\n");
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);//列印信息
break;
}
if(s[i].num==no)//按航班號判斷輸出條件
{
printf("\n查找航班信息成功!\n");
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);//列印信息
break;
}
}
no=0;//將航班號賦值為0
printf("沒有您需要的信息或查找完畢:\n\n"
"是否繼續查找?請鍵入yes或no以回車鍵結束\n");
scanf("%s",ii);
}while(strcmp(ii,"yes")==0);//判斷結束
}
void shanchu()//刪除模塊
{
char name1[20];
char name2[20];
char ii[10];
char f[]="2008china";//設置密碼
int no,n;
printf("請輸入密碼並以回車鍵結束:\n\n");
scanf("%s",f);//讀取密碼
if(strcmp(f,"2008china")==0) //判斷密碼是否正確
{
do
{
printf("請選擇刪除以方式回車鍵結束:\n\n");//列印刪除方式菜單
printf("*1.按航班號刪除\n\n"
"*2.按航線刪除\n\n"
"*0.返回\n\n");
printf("請在0-2中選擇以回車鍵結束:\n");
scanf("%d",&n);//讀取刪除方式
if(n==0)
break; //跳出循環
switch(n)
{
case 1:
printf("請輸入航班號:\n");
scanf("%d",&no);//讀取航班號
read();//調用讀取函數
break;//跳出循環
case 2:
printf("請輸入起始站 名稱:\n");
scanf("%s",name1);//讀取起始站
printf("請輸入終點站名稱:\n");
scanf("%s",name2);//讀取終點站
read();//調用讀取函數
break;//跳出循環
}
for(i=0;i<m;i++)
{
if(s[i].num==no||strcmp(s[i].start,name1)==0&&strcmp(s[i].over,name2)==0)//判斷輸入信息是否存在
{
s[i]=s[m-1];
m--;
}
}
printf("查找完畢或沒有這個信息\n\n");
printf("是否繼續刪除\n");
printf("請鍵入yes或no以回車鍵結束\n");
scanf("%s",ii); //讀取是否繼續信息
save(); //調用讀取函數
if(!strcmp(ii,"yes")) //判斷是否繼續刪除
printf("請按任意鍵以回車鍵結束返回上層菜單:\n");
break;
}while(n!=1&&n!=2&&n!=3&&n!=4&&n!=0); //判斷結束
}
else
printf("對不起密碼錯誤!您不是管理員,不能使用此項功能!謝謝!再見!\n\n");
}
void dingpiao()//訂票模塊
{
int n;
char a[10];
do
{
search();//調用查詢模塊
printf("請輸入您要訂的機票數以回車鍵結束:\n");
scanf("%d",&n);//讀取所訂機票數
if(n<0)
{
printf("請輸入有效的機票數!\n");//判斷機票數是否出錯
break;
}
if(s[i].count!=0&&s[i].count>=n)//判斷是否出錯
{
s[i].count=s[i].count-n;
save();//調用保存函數
printf("訂票成功!\n\n");
break;
}
if(s[i].count<n)//判斷是否出錯
{
printf("請輸入有效的機票數:\n");
break;
}
printf("是否繼續? 請輸入yes或no以回車鍵結束:\n");//判斷是否繼續訂票
scanf("%s",a);
}while(!strcmp(a,"yes"));//判斷結束
}
void tuipiao()//退票模塊
{
int n;
char a[10];
do
{
search();//調用查詢模塊
printf("請輸入您要退的機票數目:\n");
scanf("%d",&n);//輸入所退票數
if(n<0) //判斷票數是否有效
printf("請輸入有效的機票數!\n");
s[i].count=s[i].count+n;
save(); //調用保存模塊
printf("退票成功!\n\n");
printf("是否繼續? 請鍵入yes或no以回車鍵結束:\n\n");//判斷是否繼續退票
scanf("%s",a);
}while(!strcmp(a,"yes"));//判斷並跳出循環
getchar();
}
void xiugai() //修改模塊
{
struct xiu //定義結構體
{
int no;
char name1[20];
char name2[20];
char time[20];
int count;
}x[1];
char j[10];
char f[]="2008china";//設置密碼
int n;
printf("請輸入密碼並以回車鍵結束:\n\n");
scanf("%s",f);//讀取密碼
if(strcmp(f,"2008china")==0)//判斷是否出錯
{
read();//調用讀取模塊
do
{
printf( "請選擇修改方式:\n\n"
"*1,按航班號修改:\n\n"
"*2,按航線修改: \n\n");
printf("請在1---2中修改以回車鍵結束:\n\n");
scanf("%d",&n);//讀取修改方式
switch(n)
{
case 1:printf("請輸入航班號:\n");
scanf("%d",&x[0].no);//讀取航班號
break;
case 2:printf("請輸入起始站:\n");
scanf("%s",x[0].name1);//讀取起始站
printf("請輸入終點站:\n");
scanf("%s",x[0].name2);//讀取終點站
break;
}
for(i=0;i<m;i++)
{
if(strcmp(s[i].over,x[0].name1)==0&&strcmp(s[i].over,x[0].name2)==0)//判斷輸出條件
{
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);
break;
}
if(s[i].num==x[0].no)//判斷輸出條件
{
printf("航班號 起始站 終點站 時間 機票數\n");
printf(PRINT);
break;
}
}
x[0].no=0; //將結構體中的號為零
printf("請輸入新航班號、起始站、終點站、時間(星期幾)、機票數:\n");
scanf("%d%s%s%s%d",&x[0].no,x[0].name1,x[0].name2,x[0].time,&x[0].count);//定義輸入格式
s[i].num=x[0].no;//替換航班號
strcpy(s[i].start,x[0].name1);//替換其始站
strcpy(s[i].over,x[0].name2);//替換終點站
strcpy(s[i].time,x[0].time);//替換時間
s[i].count=x[0].count;//替換機票數
save();//調用保存模塊
printf("是否繼續?請鍵入yes或no以回車鍵結束:\n\n");
scanf("%s",j);
}while(strcmp(j,"yes")==0); //判斷結束
}
else
printf("對不起密碼錯誤!您不是管理員,不能使用此項功能!謝謝!再見!\n\n");
}
❸ 用C語言或C++編一個簡單的民航票務系統
#include<iostream>
#include<string>
#include<fstream>
#include<sstream>
using namespace std;
class Tair //通過定義一個類來定義數據錄入的函數
{
char flight[20]; char data[20];char start[20];
char finish[20];char stime[20];char ftime[20];int price;
public:
Tair()
{};
Tair(char fl[20], char D[20],char S[20],char Fin[20],char st[20],char ft[20],int pr);
friend void main(); //將主函數定義為友元函數,方便訪問類中的成員
};
Tair::Tair (char fl[20], char D[20],char S[20],char Fin[20],char st[20],char ft[20],int pr)
{
strcpy(flight,fl); //
strcpy(data,D);
strcpy(start,S);
strcpy(finish,Fin);
strcpy(stime,st);
strcpy(ftime,ft);
price=pr; //
}
void main()
{
int p=0; //全局變數,用於選擇菜單時的輸入
Tair *s[100]; //類定義的指針將所錄入的數據按類中的形式分別存儲
ofstream *file[100];
int i=0; //全局變數,用於做每個錄入數據的下標
int j=0;
int chris1=0;//用於判斷do—while語句
while(p!=6)
{
cout<<"\n************ 歡迎來到民航售票系統,請選擇您需要的操作並輸入相應數字! ***********\n";
cout<<"(1)錄入信息\n";
cout<<"(2)按起點查出所有航班的信息\n";
cout<<"(3)按終點查出所有航班的信息\n";
cout<<"(4)按日期、航班號查詢航班信息\n";
cout<<"(5)按起點站統計航班數\n";
cout<<"(6)退出\n";
do //判斷輸入指令是否正確
{
cin>>p;
if((p>=1&&p<=6))
chris1=1;
else
cout<<"指令錯誤!請重新輸入:"<<endl;
}while(chris1==0);
do
{
switch(p)
{
case 1://錄入
{
char flight[20],data[20],start[20],finish[20],stime[20],ftime[20];
int price; char c; //用於在小項中選擇是否繼續操作
do
{
cout<<"請依次輸入航班號、日期、起點站、終點站、起飛時間、到達時間、票價\n";
cin>>flight>>data>>start>>finish>>stime>>ftime>>price;
fstream outfile,infile; //作一個文本文檔在文件夾中用於顯示所錄入的數據
outfile.open("flight.txt",ios::out|ios::app); //以向文件追加寫入的方式打開文件flight.txt
if(!file)
{
cout<<"flight.txt can not open.\n";
return;
}
outfile<<"航班號:"<<flight<<" "<<"日期:"<<data<<" "<<"起點站:"<<start<<" "<<"終點站:"<<finish<<" "<<"起飛時間:"<<stime<<" "<<"到達時間:"<<ftime<<" "<<"票價:"<<price<<endl;
outfile.close();
infile.open("flight.txt",ios::in);
if(!file) //判斷文件是否打開
{
cout<<"f1.txt can not open.\n";
return;
}
char ch;
while(infile.get(ch))
cout<<ch;
cout<<endl<<endl;
infile.close();
j++;
s[i]=new Tair(flight,data,start,finish,stime,ftime,price);
i++;
cout<<"已錄入"<<i<<"條航班信息,想繼續錄入嗎(y/n)"<<endl;
cin>>c;
chris1=0;
//do
//{
if(c!='y'&&c!='n')
{
cout<<"指令錯誤!請重新輸入!"<<endl;
cin>>c;
}
//else chris1=1;
//}while(chris1==0);
}while(c=='y');
break;
}
case 2://按起點站查詢
{
char st[20];char c;int j=0;int flag;
if(i==0)
{ cout<<"系統中沒有航班信息,請先進行錄入操作!"<<endl; break; }
do
{
flag=0;
cout<<"請輸入要查詢的航班的起點站: "<<endl;
cin>>st;
cout<<"您要查詢的起點站為%c的航班信息如下:"<<st<<endl<<endl;
for(int j=0;j<i;j++)
{
if(strcmp(st,(*s[j]).start)==0)
{
flag=1;
cout<<"航班號:"<<(*s[j]).flight<<" 日期:"<<(*s[j]).data<<" 終點站:"<<(*s[j]).finish<<" 起飛時間:"<<(*s[j]).stime<<" 到達時間:"<<(*s[j]).ftime<<" 票價:"<<(*s[j]).price<<endl;
}
}
if(flag==0) cout<<"對不起,您查詢的航班信息不存在!"<<endl<<endl;
cout<<"您想繼續查詢嗎?(y/n):";
cin>>c;
if(c!='n'&&c!='y')
{
cout<<"指令錯誤!請重新輸入:"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 3://按終點站查詢
{
char fin[20];char c;int j=0;int flag;
if(i==0)
{ cout<<"系統中沒有航班信息,請先進行錄入操作!"<<endl; break; }
do
{
flag=0;
cout<<"請輸入要查詢的航班的終點站: "<<endl;
cin>>fin;
cout<<"您要查詢的終點站為"<<fin<<"的航班信息如下:"<<endl<<endl;
for(int j=0;j<i;j++)
{
if(strcmp(fin,(*s[j]).finish)==0)
{
flag=1;
cout<<"航班號:"<<(*s[j]).flight<<" 日期:"<<(*s[j]).data<<" 起點站:"<<(*s[j]).start<<" 起飛時間:"<<(*s[j]).stime<<" 到達時間:"<<(*s[j]).ftime<<" 票價:"<<(*s[j]).price<<endl;
}
}
if(flag==0) cout<<"對不起,您查詢的航班信息不存在!"<<endl;
cout<<"您想繼續查詢嗎?(y/n):";
cin>>c;
if(c!='n'&&c!='y')
{
cout<<"指令錯誤!請重新輸入:"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 4://按日期、航班號查詢
{
char dat[20],fli[20];char c;int j,flag;
if(i==0)
{ cout<<"系統中沒有航班信息,請先進行錄入操作!"<<endl; break; }
do
{
flag=0;
cout<<"請輸入要查詢的航班的日期和航班號: "<<endl;
cin>>dat>>fli;
cout<<"您要查詢的日期為"<<dat<<",航班號為"<<fli<<"的航班信息如下:"<<endl<<endl;
for(j=0;j<i;j++)
{
if(strcmp(dat,(*s[j]).data)==0 && strcmp(fli,(*s[j]).flight)==0)
{
flag=1;
cout<<"起點站:"<<(*s[j]).start<<" 終點站:"<<(*s[j]).finish<<" 起飛時間:"<<(*s[j]).stime<<" 到達時間:"<<(*s[j]).ftime<<" 票價:"<<(*s[j]).price<<endl;
}
}
if(flag==0) cout<<"對不起,您查詢的航班信息不存在!"<<endl;
cout<<"您想繼續查詢嗎?(y/n):";
cin>>c;
if(c!='n'&&c!='y')
{
cout<<"指令錯誤!請重新輸入:"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 5://按起點或終點統計一周的航班數
{
int count,flag,j;
char str[20]; char c;
if(i==0)
{ cout<<"\n系統中沒有航班信息,請先進行錄入操作!"<<endl; break; }
do
{
flag=0;count=0;
cout<<"\n請輸入要統計的航班起點站:"<<endl;
cin>>str;
for(j=0;j<i;j++)
{
if(strcmp(str,(*s[j]).start)==0)
{
flag=1;
count++;
}
}
if(j>=i && flag==0)
cout<<"對不起,您查詢的航班信息不存在!"<<endl<<endl;
else
cout<<"\n您要查詢的起點站為"<<str<<"的航班數為:"<<count<<endl<<endl;
cout<<"您想繼續查詢嗎?(y/n):";
cin>>c;
if(c!='n'&&c!='y')
{
cout<<"指令錯誤!請重新輸入:"<<endl;
cin>>c;
}
}while(c=='y');
break;
}
case 6://退出
{
cout<<endl<<"********* 感謝您的使用,( ^_^ )/~~拜拜! **********"<<endl;
break;
}
}break;
}while(chris1==0);
}
}