問題描述: 由于我國經(jīng)濟(jì)發(fā)展迅速,車輛的擁有量也跟著大幅上升,城市擁堵的情況越來越嚴(yán)重,停車場越來越成為一種稀缺資源,因此就有了要求高效利用停車場的需求。 控制稀缺資源的有效辦法就是收費(fèi)。停車場的收費(fèi)規(guī)則是,1小時以內(nèi)免費(fèi)。超過1小時,每小時6
問題描述:
由于我國經(jīng)濟(jì)發(fā)展迅速,車輛的擁有量也跟著大幅上升,城市擁堵的情況越來越嚴(yán)重,停車場越來越成為一種稀缺資源,因此就有了要求高效利用停車場的需求。
控制稀缺資源的有效辦法就是收費(fèi)。停車場的收費(fèi)規(guī)則是,1小時以內(nèi)免費(fèi)。超過1小時,每小時6元錢。人工計(jì)費(fèi)費(fèi)時費(fèi)力,而且容易出錯,希望你們開發(fā)一個軟件來幫助辛勤的保安們來管理停車場。
1)對車位進(jìn)行管理:
能查詢一共有多少車位
能查詢有多少空的車位
能查詢占用車位對應(yīng)的車牌號和停靠時間
2)收費(fèi)管理:
能查詢現(xiàn)在??苛硕嗌佘?br />
能夠記錄車輛的??繒r間
根據(jù)根據(jù)停靠時間計(jì)算出費(fèi)用
代碼如下:
#include#include #include #include #define NULL 0 # define LEN sizeof(struct node) struct node { int num; //序號 char numble[47]; //車牌 char intime[47]; //進(jìn)入時間 char outtime[47]; //出去時間 struct node *next; }; struct node *creat()//創(chuàng)建一個有十個車位的停車場鏈表 { int n; struct node *head,*p,*tail; head = NULL; for(n = 1 ; n <= 10 ; n++ ) { p = (struct node*)malloc(LEN); p->num = n ; strcpy(p->numble,"0"); strcpy(p->intime,"0"); strcpy(p->outtime,"0"); if(n == 1) { head = p; } else tail->next = p; tail = p; } tail->next = NULL; return(head); } void print(struct node *head) { struct node *p; printf("當(dāng)前停車場信息如下:\n\n"); p=head; if(head!=NULL) { do { printf("車場序號: %-6d車牌號碼: %5s\n",p->num,p->numble); printf("進(jìn)入時間:%32s\n",p->intime); printf("駛出時間:%32s\n",p->outtime); printf("*******************************************\n"); p=p->next; }while(p!=NULL); } } void Money(struct node *head)//計(jì)費(fèi) { int n,m; struct node *p; time_t rawtime; struct tm*timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("親、請輸入你要計(jì)費(fèi)的車輛序號\n"); scanf("%d",&n); p = head; while(p->num != n) { p = p->next; //尋找對應(yīng)序號 } // int tt = asctime(timeinfo) - p->intime; char time1[47],time2[47]; strcpy(time1,asctime(timeinfo)); strcpy(time2,p->intime); int len1 = strlen(time1); int len2 = strlen(time2); int t1= 0,t2 = 0; for(int i = 0 ; i < len1 ; i++) { if(time1[i] == ':') { t1 = t1*10+time1[i-2]-'0'; } } for( i = 0 ; i < len2 ; i++) { if(time2[i] == ':') { t2 = t2*10+time2[i-2]-'0'; } } int tt = t2 - t1; if(tt > 1) m = (tt-1)*6; else m = 0; printf("此次停車共計(jì)費(fèi)用為: %d\n",m); } void in(struct node *head)//車輛進(jìn)入停車場 { char s[47]; time_t rawtime; struct tm*timeinfo; time(&rawtime); timeinfo=localtime(&rawtime); struct node *p; p = head; while((p!=NULL)&&(strcmp(p->numble,"0")!=0))//查找空車位 { p=p->next; } if(p!=NULL) { printf("請輸入當(dāng)前的車牌號!\n"); scanf("%s",s); printf("您的停車位是:[%d]號!\n",p->num); strcpy(p->numble,s); strcpy(p->intime,asctime(timeinfo)); } else { printf("停車場已滿,親、請退出操作!\n"); } } void out(struct node* head) { struct node *p; int n; time_t rawtime; struct tm*timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); printf("請輸入車輛的序號!\n"); scanf("%d",&n); p = head; while(p->num != n) { p = p->next; //尋找對應(yīng)序號 } strcpy(p->outtime,asctime(timeinfo)); printf("車牌 號碼為:[%s]\n",p->numble); printf("車輛進(jìn)入時間為:%s\n",p->intime); printf("車輛駛出時間為:%s\n",p->outtime); strcpy(p->numble,"0"); strcpy(p->intime,"0"); } void main() { int n; struct node *head; head=NULL; printf("請輸入對應(yīng)的數(shù)字,進(jìn)行操作\n"); printf("0:退出程序\n"); printf("1:創(chuàng)建停車場信息\n"); printf("2:
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com