當前位置:編程學習大全網 - 編程語言 - 飛機控制編程

飛機控制編程

# include & ltstdio.h & gt

# include & ltstring.h & gt

# include & ltconio.h & gt

# include & ltctype.h & gt

# include & ltstdlib.h & gt

# include & ltmalloc.h & gt

# include & ltmath.h & gt//溢出

#定義ok 1

typedef結構Yidingkehu

{//單壹鏈接列表

char name[15];//已訂票的客戶的姓名。

int定票書;//預訂數量

struct Yidingkehu * next 1;//

}Yidingkehu,*鏈接;

typedef結構

{//單鏈團隊

char name[15];//預訂機票的客戶的姓名

int yudingpaoi;//要預訂的數量

struct Weidingkehu * next2//下壹個鏈接節點指針

}Weidingkehu,* Qptr

typedef結構行線

{//創建壹個包含六條信息的結構。

char hangbanhao[15];//航班號-

char feijihao[15];//飛機編號

int feixingriqi//出發時間

int chenkerenshu//座位數量

int yupiao//剩余票數

char中殿齋[15];//落地城市

struct Hangxian * next//指向下壹個鏈接點的指針

struct Yidingkehu *丁壹;//定義壹個指向預訂客戶的頭節點指針。

struct Weidingkehu * yudingqueue

}杭線,* Linklist

linklist init linklist();//01

int insert Linklist(Linklist & amp;head 1);//02

void hbhchaxun();//按航班號查詢

void mddchaxun();//通過目的地查詢

void lurugongneng();//初始化入口函數

void chaxungonnen();//查詢功能

void dingpiagonnen();//預訂功能

void tuipaogonnen();//退款功能

void main()

{

int n;

Do{ //打印主界面

printf(" \ tWelcome to the air passenger booking system \ n ");

printf(" \ t ++++++++++++++++++++++ ++ n ");

printf(" \ t = = & gt;1.輸入函數= = \ n ");

printf(" \ t = = & gt;2.查詢函數= = \ n ");

printf(" \ t = = & gt;3.預訂功能= = \ n ");

printf(" \ t = = & gt;4.退款功能= = \ n ");

printf(" \ t = = & gt;5.exit = = \ n ");

printf(" \ t ++++++++++++++++++++++ ++ n ");

printf(" \ t請選擇:");

scanf("%d ",& ampn);printf(" \ n ");

開關(n)

{

案例1:魯儒功能();//輸入功能

打破;

案例二:chaxungonnen();//查詢功能

打破;

案例三:dingpiagonnen();//預訂功能

打破;

案例四:退樸公嫩();//退款功能

打破;

默認:退出(0);//退出

}

} while(n = = 1 | | n = = 2 | | n = = 3 | | n = = 4);

}

void lurugongneng()///初始化的單鏈表* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。

{

鏈表p;

//int m,n;

如果(!p)退出(溢出);

printf(" \ t請依次輸入下列項目:\ n \ n ");//這裏的輸入是單獨輸入的,避免了隨機賦值的現象。

Printf("航班號\ n ");

獲取(p-& gt;行板號);//這裏的兩個get主要是因為Enter鍵的輸入,第壹個是接收最後壹個Enter。

獲取(p-& gt;行板號);

Printf("飛機編號\ n ");

獲取(p-& gt;費繼浩);

printf(" terminal \ n ");

獲取(p-& gt;中甸寨);

Printf("航班日期\ n ");

scanf("%d ",& ampp->;飛行日氣);

Printf("乘客總數\ n ");

scanf("%d ",& ampp->;chenke renshu);

Printf("剩余票數\ n ");

scanf("%d ",& ampp->;yupiao);

}

void chaxungonnen()/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *。

{

int n;

printf(" \ t檢查航空公司信息\ n ");

printf(" \ t ++++++++++++++++++++++ ++ n ");

printf(" \ t = = & gt;1.通過目的地查詢= = \ n ");

printf(" \ t = = & gt;2.按航班號查詢= = \ n ");

printf(" \ t ++++++++++++++++++++++ ++ n ");

printf(" \ t請選擇:");

scanf("%d ",& ampn);

printf(" \ n ");//格式

開關(n)

{

案例1:mddchaxun();

打破;

案例二:hbhchaxun();

打破;

默認:break

}

}

通過目標查詢使mddchaxun()//無效

{

char c[15];

int m;

鏈表p = L;

printf(" \ t請輸入要查詢的目標:");

gets(c);

gets(c);//原因同上

做{

p = p-& gt;接下來;

如果(p)

{

m=strcmpi((*p)。中甸寨,c);//m = 0 if = =;

如果(m==0)

{

printf(" \ t光線信息:\ n ");

printf(" \ t光源號:%s\n ",p-& gt;行板號);

Printf ("\ tAircraft number: %s\n ",p-& gt;費繼浩);

printf(" \ t light time:week % d \ n ",p-& gt;飛行日氣);

printf(" \ t剩余票數:%d\n ",p-& gt;yupiao);

}

}

其他

{//不符合就做。

printf(" \ t抱歉,沒有您要找的目的地:\ n \ n ");m = 0;

}

}while(m!=0);

}

Void hbhchaxun()//通過目的地查詢

{

char c[15];

int m;

鏈表p = L;

printf(" \ t請輸入要查詢的航班號:");

gets(c);gets(c);printf(" \ n ");

做{

p = p-& gt;接下來;

如果(p)

{

m=strcmpi((*p)。hangbanhao,c);//m = 0 if = =;(*p)這裏。而p->;角色是壹樣的。

如果(m==0)

{

printf(" \ t光線信息:\ n ");

printf(" \ t光源號:%s\n ",p-& gt;行板號);

Printf ("\ tAircraft number: %s\n ",p-& gt;費繼浩);

printf(" \ t light time:week % d \ n ",p-& gt;飛行日氣);

printf(" \ t剩余票數:%d\n\n ",p-& gt;yupiao);

}

}

其他

{//不符合就做。

printf(" \ t抱歉,沒有您要找的航班號:\ n ");m = 0;

}

}while(m!=0);

}

void dingbiaogonnen()/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

{

char c[15];

int m=1,piao,ydpiao=0,yd=0,n;//

gets(c);

Printf("請輸入終端名稱:");gets(c);printf(" \ n ");

p = L-& gt;接下來;

如果(p) {

務必{//查壹下是否有這個航班。

如果(!p)

{

Printf("抱歉,沒有您要找的航班:\ n \ n ");

goto loop 1;

}

m = strcmpi(p-& gt;中甸寨,c);

如果(m==0)

{

Printf("航班信息:\ n ");

Printf("航班號:%s\n ",p-& gt;行板號);

Printf("飛機編號:%s\n ",p-& gt;費繼浩);

Printf("航班時間:周%d\n ",p-& gt;飛行日氣);

Printf("剩余票:%d\n ",p-& gt;yupiao);}

else p = p-& gt;接下來;

}while(m!=0);

如果(m==0)

{

做{

printf(" \ n請輸入您要預訂的票數:");scanf("%d ",& amp飄);

如果(飄& lt= p->;yupiao)

{

h = p-& gt;丁壹;

如果(h)

{

h 1 = h;

h = h-& gt;next 1;

h =(struct yiding kehu *)malloc(sizeof(yiding kehu));

Printf("請輸入您的姓名:");

獲取(h-& gt;姓名);獲取(h-& gt;姓名);

h-& gt;頂票書=票;

h-& gt;next 1 = h 1-& gt;next 1;

h 1->;next 1 = h;

p->;yupiao = p-& gt;Yu Piao-Piao;

Printf("預訂成功:\ n ");m = 2;

}

}

其他

{

Printf("剩余票:%d\n ",p-& gt;yupiao);

Printf("抱歉,剩余的%d張票不足以完成預訂\n\n ",p-& gt;yupiao);

Printf("要不要重新訂票?\ n ");

Printf("如有需要請輸入1,或按2預約請輸入3:");

scanf("%d ",& ampm);

printf(" \ n ");

if(m==3)轉到loop3

}

} while(m = = 1);

}

}

else if(!p)

{

loop 3:struct Weidingkehu * Q3;

Printf("抱歉,本次航班機票已售完\ n ");

q . front = p-& gt;yudingqueue

If(q.front==q.rear) printf("票沒人訂,要訂嗎?\ n ");

else if(q.front!票已經被預訂了。妳想預訂嗎?\ n ");

Printf("預訂請輸入1或輸入2:");

scanf("%d ",& ampn);

printf(" \ n ");

如果(n==1)

{

Printf("請輸入您的姓名");獲取(Q3-& gt;姓名);獲取(Q3-& gt;姓名);//q3不能指向名稱?

Printf("請輸入訂房號");scanf("%d ",& ampQ3->;玉鼎飄);

Q3->;next2 = NULL

q . rear-& gt;next2 = q3

q.rear = q3

Printf("您已經預訂了!\ n ");

}

}

loop 1:;

}

void tuibaogongnen()/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

{

}

/////////以下是別人的要求///////。

1.這個系統采用包含n個數據的結構數組,每個數據的結構應該包括:出發地、目的航班號、座位號、座位是否預訂、預訂人姓名、預訂人身份證號。

2.該系統顯示這樣壹個菜單:

(1)輸入航班信息。

(2)輸出航班信息

(3)查找航班信息

A.顯示空座位的數量

B.顯示空座位信息

C.顯示預訂座位的信息。

D.出發時間

(4)預約預訂

(5)刪除預訂

(6)退出系統

1.系統成功執行菜單中的每個信息。選項4)和5)將需要額外的輸入,並且它們都允許用戶收回他們的輸入。

2.按路線或目的地查找航班信息。

在兩次運行之間,當該程序被重新打開時,數據被保存在壹個文件中。

開始時,它首先從文件中讀取數據。

  • 上一篇:名人的故事
  • 下一篇:隨州職業技術學院教務處電話 附號碼及其他聯系方式
  • copyright 2024編程學習大全網