-
大小: 310KB文件類型: .rar金幣: 2下載: 0 次發(fā)布日期: 2021-06-12
- 語言: 其他
- 標(biāo)簽: 數(shù)據(jù)結(jié)構(gòu)??課程設(shè)計??汽車租賃??
資源簡介
設(shè)計數(shù)據(jù)結(jié)構(gòu)及算法完成某個汽車租借公司日常工作的組織與管理。該管理系統(tǒng)的基本管理對象為汽車,每臺汽車用一個license number 進(jìn)行唯一標(biāo)識。每個汽車存在三種可能狀態(tài):
?可以租借(available for rent)
?已借(rented)
?修理中(in repair)
其中在available 隊列中汽車應(yīng)該依據(jù)汽車行駛過的路程進(jìn)行排序,行駛路程最少的汽車排在最前面。在rented 隊列中汽車應(yīng)該依據(jù)其預(yù)期返回時間進(jìn)行排序,排在最前的應(yīng)該是預(yù)期最早返回的汽車。
① 用三個鏈表組織三種狀態(tài)的汽車。
② 能夠?qū)崿F(xiàn)租借的日常事務(wù):引入新車,租借,收費(fèi),修理等。
③ 租借收費(fèi)應(yīng)該根據(jù)汽車行駛的路程及借去的時間綜合計算得出,路程收費(fèi)標(biāo)準(zhǔn)如下:
1. 低于100㎞收費(fèi)20.00元。
2. 100㎞以外的路程 0.15元/㎞。
④ 汽車根據(jù)行駛的路程定期進(jìn)行維護(hù)。
⑤ 還需實現(xiàn)輔助操作:汽車查詢,打印全部信息,計算并打印收入、成本及收益。
⑥ 管理系統(tǒng)應(yīng)有完整的界面。

代碼片段和文件信息
#include
#include“l(fā)inklist.h“
char?afr[]=“AFR.txt“;
char?rd[]=“RD.txt“;
char?ir[]=“IR.txt“;
void?AddNewCar(linkList?L?)?????????//添加新車
{
linkList?s;
CarKind?k=AFR;
int?I?;
????s?=?(linkList)?malloc?(?sizeof?(LNode));
cout<<“輸入汽車編號:“;??
cin>>I;?????????????????????????//應(yīng)當(dāng)設(shè)計判斷是否沖突
s->data.kind=k;
s->data.distance_run=0;
s->data.income=0;
s->data.license_number=I;
s->data.time=0;
s->link=L->link;
L->link=s;?????????????????????//因為鏈表中是按行駛路程排序,新車的行駛路程為0,所以加在第一個
}
void?RentCar(linkList?AlinkList?R)
{
linkList?ps;
int?number=0day=0;
float?this_income;
p=A->link;
cout<<“目前可租借車輛有:“< while(p)
{
cout<data.license_number<<“??號車“<<“?????行駛路程為:“<data.distance_run< p=p->link;
}
cout<<“選擇需要租借的編號:“;
cin>>number;
p=A->link;
for(;p->link;p=p->link)
{
if(p->link->data.license_number==number)
{
s=p->link;
p->link=p->link->link;????????????????//從鏈表A中刪除,將該節(jié)點(diǎn)復(fù)制給s
cout<<“輸入需要租借的天數(shù):“;
cin>>day;
s->data.kind=RD;
s->data.distance_run+=day*90;?????????//?按每天90㎞算
if(day*90<100)
this_income=20;
else
this_income=20+(day*90-100)*0.15;
s->data.income+=this_income;
s->data.time=day;
cout<data.kind??<data.license_number??< <?s->data.distance_run??<data.income??
????????<data.time??< ??//將其添加到已借連接表中
ListInsert(RTime_Sort(Rs->data)s->data);
cout<<“已借車輛為:“< Display(R);
cout<
return;
}
}
cout< }
void?Repair(linkList?AlinkList?I)????????????//目前設(shè)計的是手動修理,可在NewDay()函數(shù)中設(shè)計自動完成修理
{??????????????????????????????????????????????
linkList?asi;
a=A->link;
i=I;
while(a->link?&&(a->link->data.distance_run<500))???????//設(shè)計達(dá)到500㎞就送修
a=a->link;
???????????????????????????????????????//行駛路程是從小到大,所以一找到大于500㎞
s=a->link;?????????????????????????????//的車輛,就把A鏈表斷開,成為兩部分
a->link=null;??????????????????????????//一部分是小于500的(a),另一部分是大于500的(s)
???????????????????????????????????????//又I鏈表中是以修理返回時間排序的,且修理時間都初始化為5天
while(i->link)?????????????????????????//因此s排在I鏈表的最后
i=i->link;
i->link=s;?
while(s)
{
s->data.time=5;????????????????????//每次修理5天
s=s->link;
}?
//Write_to_File(Aafr);
//Write_to_File(Iir);
}
void?Search(linkList?AlinkList?RlinkList?I)
{
linkList?p;
int?number;
cout<<“輸入車輛編號:“;
cin>>number;
p=A->link;????????????????????????//三個鏈表中一次查找
while(p)
{
if(p->data.license_number==number)
{
cout< <<“收益“< cout<data.kind??<data.license_number??
<data.distance_run??<data.income??
????<data.time??< ????return;
}
p=p->link;
}
p=R->link;
while(p)
{
if(p->data.li
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2038??2013-01-28?10:53??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\Readme.txt
?????文件?????394752??2013-01-16?23:35??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\數(shù)據(jù)結(jié)構(gòu)課程設(shè)計報告.doc
?????文件???????2547??2013-01-16?17:40??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\AddNewCar.ddd
?????文件????????314??2013-01-16?23:19??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\Financial.ddd
?????文件????????569??2013-01-16?23:31??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\NewDay.ddd
?????文件????????553??2013-01-16?17:39??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\RentCar.ddd
?????文件????????553??2013-01-16?23:08??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\Repair.ddd
?????文件????????500??2013-01-16?23:15??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\Search.ddd
?????文件????????590??2013-01-15?23:48??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖\主流程圖.ddd
?????文件????????160??2013-01-15?21:27??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\AFR?-?副本.txt
?????文件????????160??2013-01-16?16:40??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\AFR.txt
?????文件???????7456??2013-01-16?22:50??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\CarRent?-?副本.cpp
?????文件???????9693??2013-01-16?22:46??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\CarRent.cpp
?????文件????????160??2013-01-15?21:27??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\IR?-?副本.txt
?????文件????????160??2013-01-16?16:40??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\IR.txt
?????文件???????3550??2013-01-16?22:50??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\li
?????文件???????4735??2013-01-16?22:46??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\li
?????文件????????160??2013-01-15?21:27??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\RD?-?副本.txt
?????文件????????160??2013-01-16?16:40??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼\RD.txt
?????文件??????16236??2012-12-27?14:10??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\設(shè)計要求.docx
?????目錄??????????0??2013-01-16?23:31??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\流程圖
?????目錄??????????0??2013-02-22?19:09??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計\源代碼
?????目錄??????????0??2013-02-22?19:10??數(shù)據(jù)結(jié)構(gòu)課程設(shè)計
-----------?---------??----------?-----??----
???????????????445046????????????????????23
- 上一篇:儒略日恒星時的計算程序
- 下一篇:空時編碼文獻(xiàn)綜述
評論
共有 條評論