資源簡介
本題目要完成一個航空售票管理程序,能夠實現對機票銷售記錄的增加、刪除、修改、按航班名稱或者機票編號查找、顯示和保存各類商品信息的操作。飛機主要有兩類機票:國內航班、國際航班。系統具體實現的功能如下:
1)增加機票銷售信息:系統可以實現鍵盤錄入機票信息,機票信息包括航班號、客戶姓名、出發日期、出發時間、機票價格、折扣、實際價格等。實際價格的計算方法是:
國內航班:機票價格*折扣+機場建設費+燃油附加費
國際航班:機票價格*折扣+稅費
2) 從文件中加載銷售機票信息:系統可以實現把存儲在文件air.dat中的機票基本信息加載到系統中,可以避免數據的重復錄入。
3)查詢機票信息:系統可以實現按“航班號”或“客戶姓名”查詢機票,并輸出相關信息。
4)修改機票信息:系統可以實現對錄入的機票信息重新進行編輯、修改。
5)刪除機票信息:系統可以實現當機票退票時刪除相關信息。
6)機票信息存盤:系統可以實現把機票基本信息存儲到磁盤文件air.dat中,方便用戶以后讀取數據,避免重復錄入。
7)顯示所有機票信息:系統可以輸出所有機票的信息,包括航班號、客戶姓名、出發日期、出發時間、機票價格、實際價格等。
代碼片段和文件信息
#include“air.h“
air::air()?{
myfirst?=?NULL;
}
air::air(int?anum?char?aname[]?char?adate[]?char?atime[]?float?aoprice?float?adiscount?float?aaprice?int?atype)?{
myfirst?=?new?airport(anum?aname?adate?atime?aoprice?adiscount?aaprice?atype);
}
air::~air()??????//air類析構函數的實現
{
airport?*next?=?myfirst?*temp;
while?(next?!=?NULL)
{
temp?=?next;
next?=?next->getnext();
delete?temp;
}
myfirst?=?NULL;
}
//加載飛機信息
void?air::load()?{
int?anum?atype;
char?aname[20]?adate[20]?atime[20];
float?aoprice?adiscount?aaprice;
ifstream?fin(“airport.txt“?ios::in);
if?(fin)?{
while?(fin.good())?{
fin?>>?anum?>>?aname?>>?adate?>>?atime?>>?aoprice?>>?adiscount?>>?aaprice?>>?atype;
if?(!(fin.eof()))
insert(anum?aname?adate?atime?aoprice?adiscount?aaprice?atype);
}
fin.close();
cout?< }
else
cout?<“不能打開目標文件:“?<}
//增加飛機信息
void?air::add()?{
int?tmpnum?number1?number2;
airport?*p?=?myfirst;
if?(p?==?NULL)
{
cout?<“目前無飛機信息,請輸入飛機航班號:“;
cin?>>?tmpnum;
input(tmpnum);
}
else
{
if?(p->getnext()?==?NULL)
{
number1?=?p->getnum()?+?1;
input(number1);
}
else
{
while?(p->getnext()?!=?NULL)
p?=?p->getnext();
number2?=?p->getnum()?+?1;
input(number2);
}
}
}
//輸入飛機信息
void?air::input(int?number)?{
int?atype?=?0?anum?=?0;
float?aoprice?adiscount?aaprice;
char?aname[20]?adate[20]?atime[20];
airport?*p;
cout?<“請輸入航班號為“?< cin?>>?anum;
cout?<“請選擇是:國內航班(輸入1),國際航班(輸入2):“?< cin?>>?atype;
cout?<“請輸入航班號為“?< cout?<“輸入客戶姓名:“?< cin?>>?aname;
cout?<“輸入機票原價:“?< cin?>>?aoprice;
cout?<“輸入折扣:(用小數表示)“?< cin?>>?adiscount;
cout?<“輸入登機日期:“?< cin?>>?adate;
cout?<“輸入登機時間:“?< cin?>>?atime;
aaprice?=?0;
if?(atype?==?1)?{
p?=?new?domestic(anum?aname?adate?atime?aoprice?adiscount?aaprice?atype);
}
else?if?(atype?==?2)?{
p?=?new?international(anum?aname?adate?atime?aoprice?adiscount?aaprice?atype);
}
cout?<“下面計算工資:“?< p->input();
p->calaprice();
insert(p);
}
//新機票節點
void?air::insert(airport?*pnew)?{
airport?*p?=?myfirst;
if?(p?==?NULL)?{
myfirst?=?pnew;
}
else?{
while?(p->getnext()?!=?NULL)
p?=?p->getnext();
p->setnext(pnew);
}
}
//節點
void?air::insert(int?anum?char?aname[]?char?adate[]?char?atime[]?float?aoprice?float?adiscount?float?aaprice?int?atype)?{
airport?*p?=?myfirst;
if?(p?==?NULL)?{
myfirst?=?new?airport(anum?aname?adate?atime?aoprice?adiscount?aaprice?atype);
}
else?{
while?(p->getnext()?!=?NULL)
p?=?p->getnext();
p->setnext(new?airport(anum?aname?adate?atime?aoprice?adiscount?aaprice?atype?p->getnext()));
}
}
//按照航班號查詢機票信息
bool?air::findnum()?{
int?id;
airport?*ahead?=?myfirst;
airport?*follow?=?ahead;
cout?<“飛機航班號
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
????..A..H.?????40448??2017-09-09?14:33??air\.vs\air\v15\.suo
?????文件????5033984??2017-09-09?14:33??air\.vs\air\v15\Browse.VC.db
?????文件???29884416??2017-07-14?22:45??air\.vs\air\v15\ipch\AutoPCH\AIR-2be57b0a\AIR-547086c1\AIR.ipch
?????文件?????327680??2017-07-14?21:49??air\.vs\air\v15\ipch\AutoPCH\AIR-2be57b0a\AIR-8430ffe6\AIR.ipch
?????文件?????327680??2017-07-14?21:47??air\.vs\air\v15\ipch\AutoPCH\AIR-2be57b0a\AIRPORT-82d6f66b\AIRPORT.ipch
?????文件???29818880??2017-07-14?21:59??air\.vs\air\v15\ipch\AutoPCH\AIR-2be57b0a\AIRPORT-946e3286\AIRPORT.ipch
?????文件???29884416??2017-07-14?22:05??air\.vs\air\v15\ipch\AutoPCH\AIR-2be57b0a\MAIN-7afe5aea\MAIN.ipch
?????文件???29687808??2017-09-09?14:16??air\.vs\air\v15\ipch\AutoPCH\AIR-2fc6673c\AIR-202f29f3\AIR.ipch
?????文件???29687808??2017-08-10?17:15??air\.vs\air\v15\ipch\AutoPCH\AIR-2fc6673c\MAIN-be91645c\MAIN.ipch
?????文件???????7174??2017-07-14?23:07??air\air\air.cpp
?????文件????????759??2017-07-14?21:54??air\air\air.h
?????文件???????7220??2017-07-14?21:54??air\air\air.vcxproj
?????文件???????1328??2017-07-14?21:54??air\air\air.vcxproj.filters
?????文件???????2800??2017-07-14?21:59??air\air\airport.cpp
?????文件???????1917??2017-07-14?21:54??air\air\airport.h
?????文件?????????45??2017-07-14?23:10??air\air\airport.txt
?????文件???????4686??2017-09-09?14:17??air\air\Debug\air.log
?????文件?????314272??2017-09-09?14:17??air\air\Debug\air.obj
?????文件????????226??2017-09-09?14:17??air\air\Debug\air.tlog\air.lastbuildstate
?????文件???????3918??2017-09-09?14:17??air\air\Debug\air.tlog\CL.command.1.tlog
?????文件??????96466??2017-09-09?14:17??air\air\Debug\air.tlog\CL.read.1.tlog
?????文件???????3428??2017-09-09?14:17??air\air\Debug\air.tlog\CL.write.1.tlog
?????文件???????2722??2017-09-09?14:17??air\air\Debug\air.tlog\li
?????文件???????7126??2017-09-09?14:17??air\air\Debug\air.tlog\li
?????文件???????1182??2017-09-09?14:17??air\air\Debug\air.tlog\li
?????文件??????76875??2017-09-09?14:17??air\air\Debug\airport.obj
?????文件??????58562??2017-09-09?14:17??air\air\Debug\main.obj
?????文件?????658432??2017-09-09?14:17??air\air\Debug\vc141.idb
?????文件?????512000??2017-09-09?14:17??air\air\Debug\vc141.pdb
?????文件???????1127??2017-07-14?22:10??air\air\main.cpp
............此處省略26個文件信息
評論
共有 條評論