日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

C语言停车场管理模拟系统

發布時間:2024/3/13 windows 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言停车场管理模拟系统 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【問題描述】
某停車場是一個可停放n輛汽車的狹長通道,且只有 一個大門可供汽車進出。汽車在停車場內按車輛到達時間的先后順序,依次由北向南排列(大門在最南端,最先到達的第一輛車停放在車場的最北端),若車場內已停滿n輛汽車,則后來的汽車只能在門外的便道上等候,一旦有車開走,則排在便道上的第一輛車即可開入;當停車場內某輛車要離開時,在它之后進入的車輛必須先退出車場為它讓路,待該輛車開出大門外,其他車輛再按原次序進入車場,每輛停放在車場的車在它離開停車場時必須按它停留的時間長短交納費用。按上述要求試為停車場編制車輛管理的模擬程序。

【基本要求】
以棧模擬停車場,以隊列模擬車場外的便道,按照從終端讀入的輸入數據序列進行模擬管理。每一組輸入數據包括三個數據項:汽車“到達”或“離去”信息、汽車牌照號以及到達或離去的時刻。對每一組輸入數據進行操作后的輸出信息為:若是車輛到達,則輸出汽車在停車場內或便道上的停車位置;若是車輛離去,則輸出汽車在停車場內停留的時間和應交納的費用(在便道上停留的時間不收費)。棧以順序結構實現,隊列以鏈表結構實現。

【測試數據】
設n=2,輸入數據為:(`A`,1,5),(`A`,2,10), (`D`1,15),(`A`,3,20), (`A`,4,25), (`A`,5,30), (`D`,2,35), (`D`,4,40), (`E`,0,0).其中:`A`表示到達(Arrival);`D`表示離去(Departure);`E`表示輸入結束(End)。

【實現要求】

需另設一個棧,臨時停放為給要離去的汽車讓路而從停車場退出來的汽車,也用順序存儲結構實現。輸入數據按到達或離去的時刻有序。棧中每個元素表示一輛汽車,包含兩個數據項:汽車的牌照號碼和進入停車場的時刻。

特別注意:
整個車輛的入場和出場必須嚴格的通過調用隊列和棧的相關函數實現。

【運行結果】

(1)當停車場內車輛未滿時:

?(2)當下一輛車輛入棧,顯示當前停車場內車輛信息

?

?(3)當停車場內車輛容量已達上限,提示停車場內車輛已滿,顯示棧道內車輛信息:

?(4)當車輛出停車場,顯示應收費信息:

?

源代碼如下:

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <malloc.h> #define Max 2 //停車場容量 #define PRICE 2 //收費標準 :2元/小時 typedef struct car{char id[10];//車牌 char sta; //狀態:A,D,E int t; //入場或離場時間 }car; typedef struct S *SNode; struct S{//棧 car data[Max];int top; }; typedef SNode Stack; typedef struct Qd{car data;struct Qd *next; } *QNode; typedef struct Q{//隊列 QNode front,rear; }*Que; bool push(Stack s,car carp); bool pop(Stack s,car *carp); bool insertQ(Que q,car carp); bool DeleQ(Que q,car *carp); void printQ(Que q);//輸出隊列中所有車輛信息 void printS(Stack s);//輸出停車場中所有車輛信息 void menu(); int main(){int choice;car carp,*tp,*tp2;tp=(struct car*)malloc(sizeof(struct car));tp2=(struct car*)malloc(sizeof(struct car));Stack s1,s2;s1=(struct S*)malloc(sizeof(struct S));s2=(struct S*)malloc(sizeof(struct S));Que q;//初始化停車場 s1->top=-1;//停車場 s2->top=-1; // 中轉 //初始化便道 q=(Que)malloc(sizeof(struct Q));q->front=q->rear=NULL;while(1){printf("\n\n\n\n\t\t\t\t........歡迎進入停車場管理系統!.......\n ");printf("\t\t\t\t 請輸入操作信息(輸入E退出系統)\n");printf("例:(A 蒙E 1 )表示車牌號為蒙E的車輛于1時進入停車場\n (D 蒙E 5 )表示車牌號為蒙E的車輛于5時離開停車場\n"); scanf("%c",&carp.sta);if(carp.sta=='E'||carp.sta=='e'){printf("感謝使用停車場管理系統!\n");exit(0);break;}scanf("%s %d",carp.id ,&carp.t );switch (carp.sta){case 'A'://來車 case 'a': if(s1->top ==Max-1) //進入便道,同時輸出便道上所有車輛信息 {printf("\n停車場已滿,該車將駛入便道等候!\n\n");insertQ(q,carp);printS(s1); printQ(q); }else{//進入停車場 ,同時輸出便道上所有車輛信息push(s1,carp);printS(s1);} break;case 'D'://走車case 'd':if(s1->top ==-1) //停車場為空 printf("Not found!\n"); else{//離開停車場 while(strcmp(s1->data [s1->top].id,carp.id )!=0 &&s1->top !=-1){//查找 push(s2,s1->data [s1->top ]);pop(s1,tp);}if(s1->top ==-1)printf("Not found!\n");else{pop(s1,tp);tp2->t=carp.t;printf("車牌號碼為 %s 的車輛停留了%d小時,應收費用%d元\n", carp.id,carp.t -tp->t,(carp.t -tp->t)*PRICE );void printS(Stack s);while(s2->top !=-1){pop(s2,tp);push(s1,*tp); }if(q->front !=NULL){ //便道上有車,將頭車入庫 DeleQ(q,&carp);carp.t=tp2->t;push(s1,carp);} }} break;}system("pause");system("cls") ;getchar();}return 0; }void printS(Stack s) {int i;printf("停車場內車輛信息:\n");for(i=0;i<=s->top;i++){printf("車牌號 到達時間\n%s\t %d時\n\n",s->data[i].id,s->data[i].t);} }void printQ(Que q) {struct Qd* p;p=(struct Qd*)malloc(sizeof(struct Qd));p=q->front;printf("---------------------------\n"); printf("便道內車輛信息:\n");printf("車牌號 到達時間\n%s\t %d時\n",p->data.id,p->data.t); }bool insertQ(Que q,car carp) {QNode p;p=(QNode)malloc(sizeof(struct Qd));p->data=carp;p->next=NULL;if(q->front==NULL){q->front=p;q->rear=p;}else{q->rear->next=p;q->rear=p;} }bool push(Stack s,car carp) {s->top++;s->data[s->top]=carp; }bool pop(Stack s,car* carp) {*carp=s->data[s->top--]; }bool DeleQ(Que q,car* carp) {QNode p;*carp=q->front->data;p=q->front;q->front=q->front->next;free(p); }

總結

以上是生活随笔為你收集整理的C语言停车场管理模拟系统的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 亚洲在线一区 | 日韩午夜av | 国产日b视频 | 国产一区二区伦理 | 日韩黄色免费观看 | 日日摸夜夜添狠狠添久久精品成人 | 亚洲h网站 | 手机看片中文字幕 | 国产a大片| 91禁蘑菇在线看 | 黄色免费看片 | 黄色免费在线视频 | 欧美亚洲日本 | 激情婷婷色 | 有奶水的迷人少妇 | 97视频在线 | wwwav在线播放 | 亚洲第一天堂久久 | 成人毛片18女人毛片 | 波多野结衣亚洲视频 | av.www| 乐播av一区二区三区 | 荷兰av| 欧美老肥妇做爰bbww | 天天干天天舔天天射 | 日本中文字幕有码 | 亚洲三级小视频 | 中文字幕av免费在线观看 | av色婷婷 | 亚洲国产精品视频在线 | 国产精品一区二区三区免费观看 | 在线观看免费高清视频 | 亚洲高清毛片一区二区 | 伊人情人综合 | 欧美黄色小说 | 欧洲做受高潮欧美裸体艺术 | 中国黄色大片 | 麻豆亚洲 | av一区二区免费 | 欧美9999| 日韩激情图片 | 天堂av亚洲 | 蜜臀人妻四季av一区二区不卡 | 国产一区二区在线观看免费 | 污污视频网站在线免费观看 | 日本黄a| sao浪受的饥渴日常 91免费入口 | 哪里可以看免费毛片 | www成年人 | 国产在线观看免费网站 | 中文在线视频 | 中日韩在线视频 | 91国产丝袜播放在线 | 国产美女www | 国产字幕侵犯亲女 | 69国产成人精品二区 | 黄色大片在线 | 91中出| 在线观看日韩欧美 | 黄色一极视频 | 久操香蕉 | yy6080午夜 | 玖玖玖国产精品 | 中文字幕在线看高清电影 | 免费的毛片网站 | 婷婷四房综合激情五月 | 色婷婷av一区二区三区大白胸 | 影音先锋制服 | 成人综合网站 | 欧美一区二区三区色 | 国产一区二区中文字幕 | 天天爽夜夜爽视频 | 夜夜爽天天操 | 欧美激情一区二区三区 | 国产欧美在线 | 国产亚洲精品美女久久久 | 亚洲午夜精品久久久久久人妖 | 内裤摩擦1v1h | 天天操夜操| chinese国产精品 | 国产人妻精品久久久久野外 | 蜜臀一区二区三区 | 国产成人欧美 | 日日摸日日碰夜夜爽无码 | 久久久久久欧美 | 日韩久久久久久久久 | 青青草毛片 | 黄色片免费 | 亚洲一区二区在线免费观看 | 美女又爽又黄又免费 | 草久在线观看视频 | 亚洲综合欧美综合 | 欧美激情性做爰免费视频 | 极品少妇网站 | 在线色 | aaa黄色一级片 | 熟妇人妻av无码一区二区三区 | 国产精品第100页 | 欧美精彩视频 |