91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

目前大家比較熟悉共享單車的使用。請編制一個共享單車的管理程序,實現如下基本功能。假設有5種品牌的共享單車(品牌內容自定)。 針對該5種品牌的共享單車,自行設計一套包含每種單車的品牌名稱、投放量、投放點、某一時間點的在用數量、每輛車的每天騎行次數及單次里程和總里程、開鎖過程中發現的損壞次數等信息(所有相關數據均自行設計)的數據結構; 隨著騎行活動的開展,待使用單車的數量將發生變化。要求能對每種單車的使用數量及待使用的數量進行查詢統計并輸出; 對于某一投放點的某一品牌的單車,如果無備用車(待使用的車均為備用車),或備用車均為損壞的車,系統應能給出信息提示; 對于損壞報修的車輛,系統能夠進行及時的統計,并能在投放數量中削減損壞車輛的數量,形成真實的有效投放量; 能夠對客戶信息進行處理,包括注冊的用戶名、電話號碼、騎行里程、騎行習慣(比如70%以上的出行時間集中在某個時間段,時間段按時鐘整點劃分)、每天平均的騎行時間等; 該系統能進行當日使用狀況的統計,請用鏈表排序(排序算法不限)提示交易使用次數排在前三名的單車品牌; 假設每種單車的使用是收費的,如第一個小時是免費的,第二個小時開始每小時收費0.5元,各品牌可各自推出優惠收費條件(優惠條件請自定義),然后根據假設的使用情況,統計出各種品牌的日營業額,并對各品牌的受歡迎程度進行排序。

資源截圖

代碼片段和文件信息

//?共享單車.cpp?:?
/*
使用說明:
*為了測試簡單,投放地點用數字1-5代替?,車輛種類用數字1-5代替,分別為1牌車,2牌車……?
*存在一些冗余函數和變量?
*利潤的計算比較難,因為是以真實的時間為參考,所以至少一個小時才會有利益?
*/
//

#include?
#include?
#include?
#include?
#include??
#include?
#include???
#include?
#include?
#include?
#include?

#define?MAX?65536
#define?LEN_?sizeof(Node_user)??
#define?LEN_1?sizeof(Node_bike)
using?namespace?std;



int?totnumber_user?=?0;//用戶人數
int?totnumber_bike[6];//車輛數
int?totnumber_bike_inuse[6];//正在用的車輛數
multimap?totprofit;//總利潤
//騎行次數
struct?tot_ride
{
int?category;
int?cnt;
tot_ride*?next;
}firstbike;

struct?Time?{ //作為一個時間節點或者時間段使用?
int?minu?hour?day;
Time(int?a?=?0?int?b?=?0?int?c?=?0)?:minu(a)?hour(b)?day(c)?{}
Time(SYSTEMTIME?&a)?{
minu?=?a.wMinute;
hour?=?a.wHour;
day?=?a.wDay;
}
Time?operator?+(Time?&a)?{ //只做時間段累加?
Time?b?=?a;
b.minu?+=?minu;
b.hour?+=?hour;
b.hour?+=?b.minu?/?60;
b.minu?%=?60;
return?b;
}
Time?operator?-(Time?&a)?{ //只做計算時間差?
Time?b?=?a;
int?h?=?hour;
if?(b.day?!=?day)//只考慮半夜騎車的情況,不考慮騎24小時以上...?
{
if?(b.day>day)b.hour?+=?24;
else?h?+=?24;
}
int?m?=?abs((h?-?b.hour)?*?60?+?minu?-?b.minu);
b.minu?=?m?%?60;
b.hour?=?m?/?60;
return?b;
}
Time?operator?=(SYSTEMTIME?&a)?{
minu?=?a.wMinute;
hour?=?a.wHour;
day?=?a.wDay;
}
int?operator?/(int?day)?{ //只做平均時間?
int?min?=?hour?*?60?+?minu;
return?min?/?day;
}
};
struct?Ride_time?{
Time?st?ed;//起始時間和結束時間??
Time?lasting;
Ride_time(int?a?=?0?int?b?=?0?int?c?=?0)?:st(a)?ed(b)?lasting(c)?{}
Ride_time(Time?&a?Time?&b)?:st(a)?ed(b)?{?lasting?=?a?-?b;?}

};
struct?Ride_info?{ //騎行歷史信息?
int?ride_cnt;//騎行次數?
double?totdis;?//總距離?距離都無法更新
int?totday;
double?dis[MAX];//每次騎行距離?
Ride_time?ride_time[MAX];
Time?totime;
Ride_info(int?a=0int?b=0int?c=0):totime(0)ride_cnt(a)totdis(b)totday(c)?{memset(dis?0?sizeof(dis));}
void?update(double?dis0?Ride_time?a)?{ //更新數據
ride_cnt++;
dis[ride_cnt]?=?dis0;
totdis?+=?dis0;
ride_time[ride_cnt]?=?a;
if?(ride_time[ride_cnt].st.day?!=?ride_time[ride_cnt].ed.day?||?ride_cnt?!=?0?&&?ride_time[ride_cnt].st.day?!=?ride_time[ride_cnt?-?1].ed.day?||?ride_cnt?==?0)totday++;
totime?=?totime?+?a.lasting;
}
int?average_ridetime()?{?//每天騎多少分鐘?
if?(totday?==?0)return?0;
return?totime?/?totday;
}
void?main_ride()?{ //騎行習慣輸出
int?hours[13]?=?{?0?};
for?(int?i?=?1;?i?<=?ride_cnt;?i++)
hours[ride_time[i].st.hour?/?2]++;
int?max1?=?0?t;
for?(int?i?=?0;?i<12;?i++)
{
if?(hours[i]>max1)
{
max1?=?hours[i];
t?=?i;
}
}
if(ride_cnt)
printf(“有%d%%的出行時間集中在%d——%d時間段\n每天平均騎行時間為%d分鐘\n“?max1?/?ride_cnt?*?100?t?*?2?t?*?2?+?2?average_ridetime());
}
};

//車輛數據
struct?Node_bike?{
char?number[105];//車牌?
char?pw[105];//密碼
int?catrgory;//種類?好像打錯了?但是不影響?1-5
cha

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

????.CA....???2020325??2018-06-09?14:45??共享單車.exe

????.CA....?????47005??2018-06-09?13:42??流程圖.pptx

????.CA....?????23219??2018-06-10?15:56??共享單車.cpp

-----------?---------??----------?-----??----

??????????????2090549????????????????????3


評論

共有 條評論