-
大小: 22.84MB文件類型: .rar金幣: 1下載: 0 次發(fā)布日期: 2023-08-01
- 語言: 其他
- 標(biāo)簽: C++??管理系統(tǒng)??文檔??
資源簡介
本題目要完成一個(gè)航空售票管理程序,能夠?qū)崿F(xiàn)對(duì)機(jī)票銷售記錄的增加、刪除、修改、按航班名稱或者機(jī)票編號(hào)查找、顯示和保存各類商品信息的操作。飛機(jī)主要有兩類機(jī)票:國內(nèi)航班、國際航班。系統(tǒng)具體實(shí)現(xiàn)的功能如下:
1)增加機(jī)票銷售信息:系統(tǒng)可以實(shí)現(xiàn)鍵盤錄入機(jī)票信息,機(jī)票信息包括航班號(hào)、客戶姓名、出發(fā)日期、出發(fā)時(shí)間、機(jī)票價(jià)格、折扣、實(shí)際價(jià)格等。實(shí)際價(jià)格的計(jì)算方法是:
國內(nèi)航班:機(jī)票價(jià)格*折扣+機(jī)場建設(shè)費(fèi)+燃油附加費(fèi)
國際航班:機(jī)票價(jià)格*折扣+稅費(fèi)
2) 從文件中加載銷售機(jī)票信息:系統(tǒng)可以實(shí)現(xiàn)把存儲(chǔ)在文件air.dat中的機(jī)票基本信息加載到系統(tǒng)中,可以避免數(shù)據(jù)的重復(fù)錄入。
3)查詢機(jī)票信息:系統(tǒng)可以實(shí)現(xiàn)按“航班號(hào)”或“客戶姓名”查詢機(jī)票,并輸出相關(guān)信息。
4)修改機(jī)票信息:系統(tǒng)可以實(shí)現(xiàn)對(duì)錄入的機(jī)票信息重新進(jìn)行編輯、修改。
5)刪除機(jī)票信息:系統(tǒng)可以實(shí)現(xiàn)當(dāng)機(jī)票退票時(shí)刪除相關(guān)信息。
6)機(jī)票信息存盤:系統(tǒng)可以實(shí)現(xiàn)把機(jī)票基本信息存儲(chǔ)到磁盤文件air.dat中,方便用戶以后讀取數(shù)據(jù),避免重復(fù)錄入。
7)顯示所有機(jī)票信息:系統(tǒng)可以輸出所有機(jī)票的信息,包括航班號(hào)、客戶姓名、出發(fā)日期、出發(fā)時(shí)間、機(jī)票價(jià)格、實(shí)際價(jià)格等。
代碼片段和文件信息
#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類析構(gòu)函數(shù)的實(shí)現(xiàn)
{
airport?*next?=?myfirst?*temp;
while?(next?!=?NULL)
{
temp?=?next;
next?=?next->getnext();
delete?temp;
}
myfirst?=?NULL;
}
//加載飛機(jī)信息
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?<“不能打開目標(biāo)文件:“?<}
//增加飛機(jī)信息
void?air::add()?{
int?tmpnum?number1?number2;
airport?*p?=?myfirst;
if?(p?==?NULL)
{
cout?<“目前無飛機(jī)信息,請(qǐng)輸入飛機(jī)航班號(hào):“;
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);
}
}
}
//輸入飛機(jī)信息
void?air::input(int?number)?{
int?atype?=?0?anum?=?0;
float?aoprice?adiscount?aaprice;
char?aname[20]?adate[20]?atime[20];
airport?*p;
cout?<“請(qǐng)輸入航班號(hào)為“?< cin?>>?anum;
cout?<“請(qǐng)選擇是:國內(nèi)航班(輸入1),國際航班(輸入2):“?< cin?>>?atype;
cout?<“請(qǐng)輸入航班號(hào)為“?< cout?<“輸入客戶姓名:“?< cin?>>?aname;
cout?<“輸入機(jī)票原價(jià):“?< cin?>>?aoprice;
cout?<“輸入折扣:(用小數(shù)表示)“?< cin?>>?adiscount;
cout?<“輸入登機(jī)日期:“?< cin?>>?adate;
cout?<“輸入登機(jī)時(shí)間:“?< 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?<“下面計(jì)算工資:“?< p->input();
p->calaprice();
insert(p);
}
//新機(jī)票節(jié)點(diǎn)
void?air::insert(airport?*pnew)?{
airport?*p?=?myfirst;
if?(p?==?NULL)?{
myfirst?=?pnew;
}
else?{
while?(p->getnext()?!=?NULL)
p?=?p->getnext();
p->setnext(pnew);
}
}
//節(jié)點(diǎn)
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()));
}
}
//按照航班號(hào)查詢機(jī)票信息
bool?air::findnum()?{
int?id;
airport?*ahead?=?myfirst;
airport?*follow?=?ahead;
cout?<“飛機(jī)航班號(hào)
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
????..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個(gè)文件信息
評(píng)論
共有 條評(píng)論