資源簡介
飛機訂票系統,可以實現訂票、退票、查看航班信息、查看已訂票的乘客信息等功能。 各模塊的要求: (1)錄入:可以錄入航班情況(數據可以存儲在一個數據文件中,數據結構、具體數據自定) (2)查詢:可以查詢某個航線的情況(如,輸入航班號,查詢起降時間,起飛抵達城市,航班票價,票價折扣,確定航班是否滿倉);輸入起飛抵達城市,查詢飛機航班情況。 (3)訂票:(訂票情況可以存在一個數據文件中,結構自己設定)可以訂票,如果該航班已經無票,可以提供相關可選擇航班。 (4)退票: 可退票,退票后修改相關數據文件。; (5)客戶資料包括:姓名,證件號,訂票數量及航班情況,訂單要有編號。 (6)修改航班信息:當航班信息改變時,可以修改航班數據文件。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
#define?MAXSIZE?9
?/*定義航線量的最大值*/
typedef?struct?ads{
?????char?Enternum[7];
?char?name[100];
?????char?sex[2];
?????int??age;
?????char?key[10];
}ad;
typedef?struct?cms{
????char?EnterNum[8];????//登入賬號
????char?name[100];??????//姓名
????char?sex[2];?????????//性別
????int?age;?????????????//年齡
????char?key[10];????????//登入密碼
}com;
typedef?struct?numbers{
????int?comnum;//用戶人數
int?adnum;??//管理員人數;
}number;
typedef?struct?IDNode
{
char?ID[18];
struct?IDNode?*next;
}IDList;
typedef?struct?wat_ros
{?
char?name[10];/*姓名*/
char?ID[18];/*身份證號*/
int?req_amt;/*訂票量*/
struct?wat_ros?*next;
}qnode*qptr;
typedef?struct?pqueue
{
qptr?front;/*等候替補客戶名單域的頭指針*/
qptr?rear;/*等候替補客戶名單域的屬指針*/
}linkqueue;
typedef?struct?ord_ros
{??
char?name[10];/*客戶姓名*/
char?ID[18];/*身份證號*/
int?ord_amt;/*訂票量*/
int?grade;/*艙位等級*/
struct?ord_ros?*next;
}linklist;
struct?airline
{
char?ter_name[10];/*終點站名?*/
????char?air_num[10];/*航班號*/
????char?plane_num[10];/*飛機號*/
????char?date[7];/*飛行日期(星期幾)*/
????int?tkt_amt;/*乘員定額*/
????int?tkt_sur;/*余票量*/
????linklist?*order;
/*乘員名單域,指向乘員名單鏈表的頭指針*/
????linkqueue?wait;
/*等候替補的客戶名單域,分別指向排隊等候名單隊頭隊尾的指針*/
}lineinfo;
struct?airline?*start;
struct?airline?air[MAXSIZE];
void?insert()
{????
char?NG;
fstream?file;
file.open(“airline.txt“ios::trunc);
????int?i=0;
do{
cout<<“請輸入航班“< cout<<“請輸入終點站名字:“< cin>>(air+i)->ter_name;
cout<<“請輸入航班號:“< cin>>(air+i)->air_num;
????cout<<“請輸入飛機號:“< cin>>(air+i)->plane_num;
cout<<“請輸入飛行日期:“< ????????cin>>(air+i)->date;
cout<<“請輸入乘員定額:“< cin>>(air+i)->tkt_amt;
cout<<“請輸入余票量:“< cin>>(air+i)->tkt_sur;
//文件操作
//寫入!
file<<(air+i)->ter_name<<“????“<<(air+i)->air_num<<“????“<<(air+i)->plane_num<<“????“<<(air+i)->date
<<“????“<<(air+i)->tkt_amt<<“????“<<(air+i)->tkt_sur< /*cin>>(air+i)->ter_name>>(air+i)->air_num>>(air+i)->plane_num>>(air+i)->date>>(air+i)->tkt_amt>>(air+i)->tkt_sur;*/
printf(“還需要繼續添加嗎?(Yy/Nn)\n“);
cin>>NG;
}while((NG==‘Y‘||NG==‘y‘)&&(i++<=MAXSIZE));
}
void?display(struct?airline?*info)
/*打印每條航線的基本信息*/
{
?printf(“│?%-6.6s?│?%-6.6s?│??%-6.6s│??%-6.6s??│???%-6.0d?│???%-6.0d?│\n“info->ter_nameinfo->air_numinfo->plane_numinfo->dateinfo->tkt_amtinfo->tkt_sur);
}
void?list()
/*打印全部航線信息*/
{?
struct?airline?*info;
int?i=0;
info=air;
cout<<“┌────┬────┬────┬─────┬─────┬─────┐“< ????cout<<“│終點站名│?航班號?│飛機號??│飛行日期??│?乘員定額?│??余票量??│“< ????cout<<“├────┼────┼────┼─────┼─────┼─────┤“< while(i {
display(info);
if(i!=MAXSIZE-1)
printf(“├────┼────┼────┼─────┼─────┼─────┤\n“);
info++;
i++;
}
cout<<“└────┴────┴────┴─────┴─────┴─────┘\n“;
printf(“\n\n“);
}
void?searc
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件?????790528??2010-11-16?14:55??飛機訂票系統\2010暑期實訓報告書.doc
?????文件??????27995??2010-11-16?14:54??飛機訂票系統\dfsd11333.cpp
?????目錄??????????0??2010-11-16?14:55??飛機訂票系統
-----------?---------??----------?-----??----
???????????????818523????????????????????3
評論
共有 條評論