當前位置:編程學習大全網 - 編程語言 - 程序設計課程試題

程序設計課程試題

#包含" stdafx.h "

# include & ltiostream & gt

使用命名空間std

# include & ltwindows.h & gt

#define cls() ( system( "cls "))

const int MaxNum = 101;

const int num = 50

typedef結構席位

{

int Seat _ ID

bool isBook

char Book _ Name[num];

char Booker _ ID[num];

};

Typedef結構FlightInfo //航班信息

{

char Start _ pos[num];

char End _ pos[num];

char Flight _ ID[num];

char Flight _ Time[num];

seat seat info[MaxNum];

int Seat _ Sum

int Remain _ Num

int Leave _ Num

} ;

const int PlaneNum = 12;//總計***12架;

//int seat num;

Flight info Flight[MaxNum];

int Flight _ Num = 0;

void _ 1 _ flight info();

void Load _ Flight();

void Add _ Flight();

void Del _ Flight();

void _ 1 _ flight info _ Enter();

void _ 6 _ Exit _ System();

void Flight _ Print();

void Add _ Book();

void Del _ Book();

void搜索_菜單();

void commnd _ Deal(int);

void Init(整數)

{

for(int j = 1;j & lt=航班[編號]。Seat _ Sumj ++)

{

航班[編號]。sea info[j]。seat _ ID = j;

航班[編號]。sea info[j]。isBook = false

Strcpy(航班號)。sea info[j]。book _ name,“無”);

Strcpy(航班號)。sea info[j]。Booker _ ID,"無");

}

}

void Enter_Error()

{

cls();

printf(" \ n \ n \ t命令是錯誤!\ n \ n \ t \ t \ t ");

系統(“暫停”);

}

無效菜單( )

{

int commond

load _ Flight();

printf(" \ n \ n \ t \ t \ tair craft booking system \ n \ n ");

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

Printf("\t\t1。輸入航班信息2。輸出航班信息\ n \ n ");

Printf("\t\t3。查找航班信息。預訂\ n \ n ");

Printf("\t\t5。刪除預訂保留6。退出系統\ n \ n ");

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

printf(" \ t \ t輸入所需的命令:");

scanf( "%d ",& ampcommond);

commond _ Deal(commond);

}

void Commond_Deal( int commond)

{

cls();

開關(普通)

{

案例1:_ 1 _ flight info();打破;

案例二:Flight _ Print();打破;

案例三:Search _ Menu();打破;

案例四:Add _ Book();打破;

案例五:Del _ Book();打破;

案例6:_ 6 _ Exit _ System();打破;

}

}

void _1_FlightInfo()

{

char cmd[10];

cls();

printf(" \ n \ n \ t \ t = = = = = = = =航班信息= = = = = = = = = = = = = \ n ");

printf(" \ t \ t \ t input(back)returns \ n \ n ");

Printf ("\ t \ t \ tEnter (go)輸入信息輸入\ n \ n \ t \ tEnter命令:");

scanf( "%s ",cmd);

如果(!strcmp( cmd," back "){ cls();menu();}

else if(!strcmp( cmd," go "){ cls();_ 1 _ flight info _ Enter();}

其他

{

enter _ Error();

_ 1 _ flight info();

}

}

void _1_FlightInfo_Enter()

{

int cmd

Printf ("\ n \ n \ n \ t \ t = = 1。添加航班= = \ n \ n ");

Printf ("\ n \ t \ t = = 2。刪除航班= = = \ n \ n ");

Printf ("\ n \ t \ t = = 3。主菜單= = = \ n \ n \ n \ n \ t \輸入命令:");

scanf( "%d ",& ampcmd);

cls();

開關(cmd)

{

案例1:Add _ Flight();打破;

案例二:Del _ Flight();打破;

案例三:Menu();打破;

默認值:Enter _ Error();_ 1 _ flight info _ Enter();打破;

}

}

void Save_Flight()

{

FILE * fp

fp = fopen( "Flight.txt "," w ");

if( fp == NULL)

{

printf("文件打開錯誤!\ n ");

系統(“暫停”);

退出(1);

}

fprintf( fp," %d ",Flight _ Num);

int I = 0;

while(我& lt=航班編號)

{

fprintf( fp," % s % s % s % d % d % d \ n ",Flight[ i ]。航班ID,航班[ i ]。Start_pos,Flight[ i ]。End_pos,航班[ i ]。航班時間,

航班[ i ]。Seat_Sum,航班[ i ]。保持數量,航班[ i ]。leave _ Num);

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

fprintf(fp," %d %d %s %s\n ",Flight[ i ]。sea info[j]。Seat_ID,航班[ i ]。sea info[j]。isBook,Flight[ i ]。sea info[j]。Book_Name

航班[ i ]。sea info[j]。Booker _ ID);

}

i++;

}

fclose(FP);

}

void Add_Flight()

{

FlightInfo信息;

char cmd

Printf ("\ n \ t \ t = =航班信息= = = \ n \ n ");

Printf("現有航班ID:\ n ");

for(int k = 0;k & lt航班號;k ++)

{

printf(" % s % s-& gt;%s %s \n ",航班[ k ]。航班ID,航班[ k ]。Start_pos,航班[ k ]。End_pos,航班[ k ]。航班_時間);

}

printf(" \ t \ t \ t輸入出發地:");

scanf( "%s ",信息。start _ pos);

printf(" \ n \ t \ t \ t輸入目標:");

scanf( "%s ",信息。end _ pos);

printf(" \ n \ t \ t \ t輸入航班號:");

scanf( "%s ",信息。flight _ ID);

printf(" \ n \ t \ t \ t輸入飛機座位數:");

scanf( "%d ",& amp信息。seat _ Sum);

信息。Remain_Num = info。Seat _ Sum信息。leave _ Num = 0;

printf(" \ n \ t \ t \ t輸入出發時間:");

scanf( "%s ",信息。航班_時間);

printf(" \ N \ t \ t \ t是否要保存該航班(Y/N)?") ;

getchar();

scanf( "%c ",& ampcmd);

if(cmd = = ' N ' | | cmd = = ' N ')_ 1 _ flight info _ Enter();

else if ( cmd == 'Y'|| cmd == 'y ')

{

Flight[Flight _ num++]= info;

init(Flight _ Num-1);

save _ Flight();

printf(" \ N \ N \ t \ t \ t是否要添加更多航班(Y|N)?") ;

getchar();

scanf( "%c ",& ampcmd);

cls();

if(cmd = = ' Y ' | | cmd = = ' Y ')Add _ Flight();

else if(cmd = = ' N ' | | cmd = = ' N ')Menu();

其他

{

enter _ Error();

add _ Flight();

}

}

其他

{

enter _ Error();

add _ Flight();

}

}

void Flight_Print()

{

if(飛行次數== 0)

{

Printf("沒有航班信息!\ n ");

系統(“暫停”);

cls();

menu();

}

for(int I = 0;我& lt航班號;i ++)

{

Printf("航班號:%s(起點)% s-->(終點)% s出發時間:% s \ n ",航班號[i]。航班ID,航班[i]。start _ POS,flight [i]。end _ POS,航班[i]。航班_時間);

Printf("航班%s的座位總數:% d \ n ",航班[i]。航班ID,航班[i]。seat _ sum);

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

printf("-& gt;座位ID: %d是否出售%s預訂者姓名%s預訂者ID% s \ n ",航班[i]。sea info[j]。Seat _ ID

(航班[ i ]。sea info[j]。isBook == true)?“已預訂”:“未預訂”,

航班[ i ]。sea info[j]。Book_Name,Flight[ i ]。sea info[j]。Booker _ ID);

如果(j!= Flight[ i ]。seat _ Sum)printf(" | \ n ");

}

printf(" \ n剩余票數:%d剩余票數:% d \ n ",航班[i]。離開編號,航班[i]。剩余_數量);

}

char cmd[num];

Printf("回車返回:");

scanf( "%s ",cmd);

if( strcmp ( cmd," back ")= = 0){ cls();menu();}

}

void Del_Flight()

{

字符id[數字];

char cmd

printf(" \ n \ t \ t = = Delete flight = = \ n \ n ");;

Printf("現有航班ID:\ n ");

for(int k = 0;k & lt航班號;k ++)

{

printf(" % s % s-& gt;%s %s \n ",航班[ k ]。航班ID,航班[ k ]。Start_pos,航班[ k ]。End_pos,航班[ k ]。航班_時間);

}

printf(" \ n \ n輸入要刪除的航班號(回車):");

scanf( "%s ",id);

if( strcmp( id," back ")= = 0){ cls();_ 1 _ flight info _ Enter();} ;

for(int I = 0;我& lt航班號;i ++)

{

if( strcmp( id,Flight[ i ])。航班ID ) == 0)

{

cls();

Printf ("\ n \ n \ n \ t \ t您確定要刪除嗎(Y/N)?") ;

getchar();

scanf( "%c ",& ampcmd);

if ( cmd == 'y' || 'Y ')

{

for(int j = I+1;j & lt航班號;j ++)

航班[ j - 1 ] =航班[j];

航班編號-;

save _ Flight();

printf(" \ n是否要繼續刪除?(Y | N)");

getchar();

scanf( "%c ",& ampcmd);

cls();

if(cmd = = ' Y ' | | cmd = = ' Y ')Del _ Flight();

else Menu();

}

else if(cmd = = ' N ' | | ' N '){ cls();del _ Flight();}

其他

{

cls();

enter _ Error();

del _ Flight();

}

}

}

}

void Add_Book()

{

char cmd[數字],name[數字],id[數字];

char ch

int I;

printf(" \ n \ n \ t \ t = = booking system = = = \ n \ n ");

Printf("現有航班ID:\ n ");

for(int k = 0;k & lt航班號;k ++)

{

printf(" % s % s-& gt;%s %s \n ",航班[ k ]。航班ID,航班[ k ]。Start_pos,航班[ k ]。End_pos,航班[ k ]。航班_時間);

}

Printf("輸入要預訂的航班(回車返回):");

scanf( "%s ",cmd);

if( strcmp( cmd," back ")= = 0){ cls();menu();}

for(I = 0;我& lt航班號;i ++)

{

if ( strcmp( cmd,Flight[ i ])。航班ID ) == 0)

{

cls();

Printf( "\n\n\t\t%s航班信息\n ",航班[ i ]。flight _ ID);

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

printf("-& gt;座位ID: %d是否出售%s預訂者姓名%s預訂者ID% s \ n ",航班[i]。sea info[j]。Seat _ ID

(航班[ i ]。sea info[j]。isBook == true)?“已預訂”:“未預訂”,

航班[ i ]。sea info[j]。Book_Name,Flight[ i ]。sea info[j]。Booker _ ID);

如果(j!= Flight[ i ]。seat _ Sum)printf(" | \ n ");

}

printf(" \ n剩余票數:%d剩余票數:% d \ n ",航班[i]。離開編號,航班[i]。剩余_數量);

}

轉到結尾;

}

cls();

Printf("航班沒找到!\ n ");

cls();

add _ Book();

結束:;

Printf("要不要訂票(Y|N)?") ;

getchar();

scanf( "%c ",& ampch);

cls();

if ( ch == 'y' || ch =='Y ')

{

如果(航班[I]。remain _ num = = 0){ printf(" \ n \ ntic kets已售完!") ;系統(“暫停”);add _ Book();}

printf(" \ n \ n \ t \ t輸入預訂人的姓名:");

scanf( "%s ",名稱);

printf(" \ n \ n \ t \ t輸入持票人的身份證號碼:");

scanf( "%s ",id);

int j;

for(j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

如果(!航班[ i ]。sea info[j]。isBook)

{

航班[ i ]。sea info[j]。isBook = true

航班[ i ]。leave _ num++;

航班[ i ]。remain _ Num-;

strcpy(航班[ i ])。sea info[j]。Book_Name,Name);

strcpy(航班[ i ])。sea info[j]。Booker_ID,ID);

打破;

}

}

save _ Flight();

Printf("已預訂!\n出發時間:%s航班%s座位%d預訂者姓名:%s預訂者身份證號:%s”,

航班[ i ]。航班時間,航班[ i ]。航班ID,航班[ i ]。sea info[j]。Seat_ID

航班[ i ]。sea info[j]。Book_Name,Flight[ i ]。sea info[j]。Booker _ ID);

printf(" \ t \ t是否要繼續(Y/N);") ;

系統(“暫停”);

cls();

menu();

}

else if(ch = = ' N ' | | ch = = ' N ')Add _ Book();

}

void Del_Book()

{

char cmd[數字],id[數字],ch;

cls();

Printf ("\ n \ n \ t \ t刪除預訂預約");

printf(" \ n現有航班ID:\ n ");

for(int k = 0;k & lt航班號;k ++)

{

printf(" % s % s-& gt;%s %s \n ",航班[ k ]。航班ID,航班[ k ]。Start_pos,航班[ k ]。End_pos,航班[ k ]。航班_時間);

}

Printf ("\ n \ n \ t \ t輸入已刪除的航班號:");

scanf( "%s ",cmd);

printf(" \ n \ n \ t \ t \ t輸入持票人的身份證號碼:");

scanf( "%s ",id);

for(int I = 0;我& lt航班號;i ++)

{

if ( strcmp( cmd,Flight[ i ])。航班ID ) == 0)

{

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

if( strcmp( id,Flight[ i ])。sea info[j]。Book_Name ) == 0)

{

printf(" \ n出發時間:%s航班%s座位%d預訂者姓名:%s預訂者身份證號碼:%s ",

航班[ i ]。航班時間,航班[ i ]。航班ID,航班[ i ]。sea info[j]。Seat_ID

航班[ i ]。sea info[j]。Book_Name,Flight[ i ]。sea info[j]。Booker _ ID);

printf(" \ N是否要刪除預訂:(Y|N)?") ;

getchar();

scanf( "%c ",& ampch);

if( ch == 'y' || ch == 'Y ')

{

航班[ i ]。remain _ num++;

航班[ i ]。leave _ Num-;

航班[ i ]。sea info[j]。isBook = false

Strcpy(航班[i])。sea info[j]。book _ name,“無”);

Strcpy(航班[i])。sea info[j]。Booker _ id,"無");

save _ Flight();

Printf("刪除!\ n ");

cls();

menu();

}

}

Printf ("\ n \ n \ t \ t找不到ID號!\ n ");

系統(“暫停”);

del _ Book();

}

}

Printf ("\ n \ n \ t \ t沒有這樣的航班!\ n ");

系統(“暫停”);

del _ Book();

}

void Disp_Empty()

{

for(int I = 0;我& lt航班號;i ++)

{

printf(" \ n \ n \ t航班%s:% d \ n "上的可用座位數,航班[i]。航班ID,航班[i]。remain _ num);

}

}

void Disp_EmptyInfo()

{

for(int I = 0;我& lt航班號;i ++)

{

Printf ("\ n \ n \ tFlight %s \n ",Flight[ i ]。flight _ ID);

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

如果(!航班[ i ]。sea info[j]。isBook)

Printf("座位% d \ n ",航班[i]。sea info[j]。seat _ id);

}

}

}

void Disp_Booked()

{

for(int I = 0;我& lt航班號;i ++)

{

Printf ("\ n \ n \ tFlight %s \n ",Flight[ i ]。flight _ ID);

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

如果(航班[ i ]。sea info[j]。isBook)

Printf("座位%d預訂者姓名:%s預訂者身份證號:% s \ n ",航班號[i]。座位信息[j]。seat _ id

航班[ i ]。sea info[j]。Book_Name,Flight[ i ]。sea info[j]。Booker _ ID);

}

}

}

void Disp_Time()

{

for(int I = 0;我& lt航班號;i ++)

{

printf(" \ n \ n \ t航班%s出發時間:% s \ n ",航班[i]。航班ID,航班[i]。航班_時間);

}

}

void搜索_菜單( )

{

int cmd

Printf ("\ n \ n \ n \ t \ t = =查找航班信息= = ");

Printf( "\n\n\t\t\t1。顯示空座位數2。顯示空座信息”);

Printf( "\n\n\t\t\t3。顯示預訂信息4。出發時間”);

Printf( "\n\n\t\t\t0。主菜單”);

Printf ("\ n \ n \ t \ t輸入所需的命令:");

scanf( "%d ",& ampcmd);

cls();

開關(cmd)

{

case 1:Disp _ Empty();打破;

案例二:Disp _ empty info();打破;

案例三:Disp _ Booked();打破;

情況四:Disp _ Time();打破;

案例0:Menu();打破;

}

char ch

Printf("是否要繼續搜索(Y/N)?") ;

getchar();

scanf( "%c ",& ampch);

cls();

if(ch = = ' Y ' | | ' Y ')Search _ Menu();

else Menu();

}

void Load_Flight()

{

FILE * fp

fp = fopen( "Flight.txt "," r ");

if ( fp == NULL)

{

fp = fopen( "Flight.txt "," w ");

menu();

}

fscanf( fp," %d ",& ampflight _ Num);

int I = 0;

while(我& lt=航班編號)

{

fscanf( fp," %s %s %s %s %d %d %d\n ",Flight[ i ]。航班ID,航班[ i ]。Start_pos,Flight[ i ]。End_pos,航班[ i ]。航班時間,

& amp航班[ i ]。座位總數& amp航班[ i ]。保持數量。航班[ i ]。leave _ Num);

for(int j = 1;j & lt= Flight[ i ]。Seat _ Sumj ++)

{

fscanf(fp," %d %d %s %s\n ",& amp航班[ i ]。sea info[j]。座位號& amp航班[ i ]。sea info[j]。isBook,Flight[ i ]。sea info[j]。Book_Name

航班[ i ]。sea info[j]。Booker _ ID);

}

i++;

}

fclose(FP);

}

void _6_Exit_System()

{

char cmd

cls();

printf(" \ N \ N \ N \ N \ N \ N \ N \ t \ t確認退出(Y/N)?") ;

getchar();

scanf( "%c ",& ampcmd);

if( cmd == 'Y' || cmd == 'y ')

{

退出(1);

}

else if(cmd = = ' N ' | | cmd = = ' N '){ cls();menu();}

其他

{

enter _ Error();

_ 6 _出口_系統();

}

}

void Begin_Disp()

{

char ch = ' >;';

//睡眠(1000);

printf(" \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n \ n ";

printf(" \ t-_ _ @ _ _ @ _ _ @ _ _ @ _ _ ~ @ \ n ");

printf(" \ t-_ `\ \ & lt;,_ _ `\ \ & lt;,_ _ `\ \ & lt;,_ _ `\ \ & lt;,_ _ `\ \ & lt;,_ \ n ");

printf(" \ t-(*)/(*)/(*)(*)/(*)/(*)/(*)/(*)\ n \ n \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t \ t

int n = 0;

while(n & lt;= 80 )

{

睡眠(15);

putchar(ch);

n++;

}

cls();

}

int main()

{

begin _ Disp();

menu();

}

嗯!!讓我們壹起努力!!!玩的有點累!不要填寫評論!怎麽了?自己改!記得給高分。

有些功能是錯誤的。查路線,自己加!

  • 上一篇:軟件技術前景怎麽樣
  • 下一篇:雙頭鋸的系統操作說明
  • copyright 2024編程學習大全網