資源簡介
C語言的數(shù)據(jù)結(jié)構(gòu)課程設(shè)計-航空訂票系統(tǒng),里面有論文、源碼,以及編譯后的exe文件

代碼片段和文件信息
/*
碼農(nóng):王春雷
內(nèi)容:模擬航空訂票系統(tǒng),包含對文件的處理。
2018-12-12:
一個bug,在沒有航班信息表的情況下,添加航班信息之后,輸出的航班信息為空。
已改正,原因是,航班信息是存儲在臨時數(shù)組里面的,數(shù)組的信息在管理員登錄的時候添加了依次,但是在管理員
添加完信息后并沒有更新。航班信息,只是在管理員登錄成功,用戶登錄和管理員添加航班信息時候,才會到文件中去
讀數(shù)據(jù)。
優(yōu)化航班信息在文件中的修改,只有用戶確定修改一個元組信息的時候,才會把一個完整的新的元組寫入文件中。
2018-12-14:
新發(fā)現(xiàn)一個bug,當(dāng)沒有人退票的時候,顯示所有訂票信息的時候會出現(xiàn)一個空值。應(yīng)該是排序算法寫錯了。
已改正,錯誤原因:進行排序的時候,總的訂票人數(shù)(index)比實際大1,標(biāo)記第一個有效訂票位置(firstValid)位
置正好,混亂了
業(yè)務(wù)不合理部分:
在修改航班信息的時候應(yīng)該給顧客提示信息,需要在顧客結(jié)構(gòu)體中添加一個提示信息屬性
屬性已經(jīng)添加。
在修改航班信息的時候,對相關(guān)的顧客提供提示信息。
當(dāng)管理員修改的是飛機號和時間的話,只需要給出提示信息就好了,但是管理員直接修改了航班的出發(fā)地和目的地的話,那
該航線的所有顧客的飛機票就要作廢了。這樣的話,在顧客查看自己的機票的時候第一次查看機票,機票是存在的,但是會
告訴顧客此機票已經(jīng)作廢,已經(jīng)退款,再次查詢的話就應(yīng)該是不存在了。
以實現(xiàn)。
仍需增加的功能:刪除航班信息。
已經(jīng)實現(xiàn),當(dāng)航班被刪除后修改顧客的信息的提示(tips),同時刪除航班信息表中的信息
2018-12-16:
設(shè)置清屏內(nèi)容,使顯示更加簡潔,清晰
*/
#include //標(biāo)準(zhǔn)輸入、輸出頭文件
#include //包含字符串函數(shù)處理頭文件
#include //access?函數(shù)的頭文件
#include? //清屏
#define?MaxAirlines?1000 //允許輸入的最多的航班數(shù)量
#define?MaxClients 10000 //允許最多的用戶
#define?PRINT?“%d\t\t%d\t\t%s\t\t%s\t\t星期%d\t\t%d\t\t%d\n“?array_Airline[index_airline].airlineNum?array_Airline[index_airline].airplaneNum?array_Airline[index_airline].departure?array_Airline[index_airline].destionation?array_Airline[index_airline].time?array_Airline[index_airline].totalTickets?remain(array_Airline[index_airline].remainTickets) //宏定義輸出格式
#define?PRINTCLIENT?“%d\t\t%d\t\t%s\t\t%s\t\t星期%d\t\t%s\t\t%d\t\t%s\n“?array_Airline[index_airline].airlineNum?array_Airline[index_airline].airplaneNum?array_Airline[index_airline].departure?array_Airline[index_airline].destionation?array_Airline[index_airline].time?client.name?client.seatNum?client.tips
struct?Airline?{ //航班結(jié)構(gòu)體
int?airlineNum; //航班號
int?airplaneNum; //飛機號
char?departure[10]; //出發(fā)地點
char?destionation[10]; //目的地
int?time; //飛行時間(星期幾)
int?totalTickets; //總票數(shù)
int?remainTickets[1024];//剩余票數(shù)
}?array_Airline[MaxAirlines];
struct?Client{ //用戶的結(jié)構(gòu)體
char?name[10]; //用戶名
int?airlineNum; //航班號
int?seatNum; //座位號
char?tips[50]; //提示信息
}?client;
int?totalAirlines; //統(tǒng)計總航班數(shù)量
int?index_airline; //查詢航班使用的下標(biāo)
char?manager[]?=?{“root“};
char?password[]?=?{“root“};
Client?clients[MaxClients];
void?userLoginForm(); //登錄確定身份頁面
void?managerLogin(); //管理員身份確認
void?managerForm(); //管理員頁面
void?userForm(); //用戶頁面
void?showAirlineForm(); //顯示航班信息頁面
void?addAirlineForm(); //增加航班信息頁面
void?updateAirlineForm(); //更新航班信息頁面
void?deleteAirlineForm(); //刪除航班信息頁面
void?showUserInfoForm(); //顯示所有用戶信息頁面
void?clientShowAirlineForm();//顯示航班信息
void?selectClientInfo(); //顯示用戶信息頁面
void?bookingTicketsForm(); //訂票頁面
void?deleteClientForm(); //退票頁面
void?printAirlineInfo(); //顯示航班信息,開始時候,包含讀取文件
void?readInfoToArray(); //將航班信息從文件中讀取到數(shù)組中
void?addAirline(); //添加航班信息
void?outputAirlineInfo(); //僅僅將數(shù)組中的信息輸出
void?outputSingalAirlineInfo(int?index);?//輸出單獨一條航班信息
void?updateAirlineInfo(); //修改航線信息
int?searchAirline(int?id); //查詢航班信息在數(shù)組中的位置,使用二分法查找
void?printUpdateAirli
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????30082??2018-12-17?22:53??BookingAirlineTickets.cpp
?????文件??????68499??2018-12-17?19:41??BookingAirlineTickets.exe
?????文件??????12396??2018-12-17?21:10??airline.dat
?????文件????????432??2018-12-17?21:10??customer.dat
-----------?---------??----------?-----??----
???????????????111409????????????????????4
- 上一篇:簡易C語言編譯器的設(shè)計與實現(xiàn)
- 下一篇:單片機I2C通信程序
評論
共有 條評論