c语言车辆管理系统课程设计_第1页
c语言车辆管理系统课程设计_第2页
c语言车辆管理系统课程设计_第3页
c语言车辆管理系统课程设计_第4页
c语言车辆管理系统课程设计_第5页
免费预览已结束,剩余10页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<>#include<>#include<>#define MAX 3 /*车库容量 */#define price /* 每车每分钟费用 */ typedef struct timeint hour;int min;Time; /* 时间结点 */typedef struct nodechar num10;Time reach;Time leave;CarNode;/* 车辆信息结点 */ typedef struct NODECarNode *stackMAX + 1;int top;Moni_Cheku;typedef struct c

2、arCarNode *data;struct car *next;QueueNode;typedef struct NodeQueueNode *head;QueueNode *rear;Moni_Biandao;void InitStack(Moni_Cheku *); /* 初始化车库 */int InitQueue(Moni_Biandao *);/* 初始化便道 */int Arrival(Moni_Cheku *, Moni_Biandao *); /* 车辆到达 */void Leave(Moni_Cheku *, Moni_Cheku *, Moni_Biandao *); /*

3、 车辆离开 */void List(Moni_Cheku, Moni_Biandao); /* 显示车库和便道的存车信息 */ int main()Moni_Cheku Enter, Temp;Moni_Biandao Wait;int ch;InitStack(&Enter); /* 初始化车站 */InitStack(&Temp); /* 初始化让路的临时链表 */InitQueue(&Wait); /* 初始化便道 */printf("n");printf(” A_A欢迎进入停车场管理系统1!A_An");printf("n

4、");printf(" 提示!( 1 ).该车库的最大容量为 :%d;n",MAX);printf("(2). 该车库的收费 标准为:元/ (辆*分钟).n",price);while (1)system("CLS");printf(*n"); printf("1. 车辆到达 "); printf(" 2. 车辆离开 "); printf(" 3. 列表显示 ");printf(" 4. 退出系统 n"); 主菜单n");pr

5、intf(printf(" 请选择(1 -4): bb");while (1)scanf("%d",&ch);if (ch >= 1 && ch <= 4)break;else printf("错误!请重选(1-4): bb");3 / 12swifch (ch)宀case rAITiva-(QOEn(DQowaif)八 break 八 /*<彗里评 */case 2Leave(QOEn(DQOTempQowaif)八 break 八 /*<彗*斗 */case99Lisf(En(Dwa

6、if)八 break- /YTS旦*aw*/case 4exif(0)八 /* 陆圧卅谕砸 defau_rrbreak-efum 0八void -nifsarck(Monilcheku *s) /* 裆毬矣<>*/宀in二sxop H o 八fo(i H 0二 ah MAX+)svss-ck-sxopj H nufinf -nifQueue(MonilBiandao *Q) /* 裆毬矣油血 */宀Qvhead H (QueueNode *)ma=oc(sizeof(QueueNode)=f(QvheadHNULL)Q->head->next = NULL;Q->

7、rear = Q->head;return(1);else return(-1);void PRINT(CarNode *p, int room) /*输出出库车的信息 */ int A1, A2, B1, B2;printf(" 请输入离开的时间 :/*:*/"); scanf("%d:%d", &(p->, &(p->);printf(" 离开车辆的车牌号为 :"); puts(p->num);printf(" 其到达时间为 : %d:%dn", p->, p-&g

8、t;printf(" 离开时间为 : %d:%dn", p->, p->A1 = p->A2 = p->B1 = p->B2 = p->printf(" 应交费用为 :%元 ",(B1-A1)*60+(B2-A2)*price);12 / 12free(p);int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /* 车辆到达 */ CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode);fflush(stdi

9、n);printf(" 请输入车牌号 (例如:中 CUG888):"); scanf("%s",&(p->num);if (Enter->top < MAX) /* 车库未满,车进车库 */Enter->top+;printf(" 该车在车库位置 %d.n", Enter->top);printf(" 请输入到达时间 (*:*):"); scanf("%d:%d", &(p->, &(p->);Enter->stackEnt

10、er->top = p;return(1);else /* 车库已满,车进便道 */printf(" 该车须在便道等待 !n");t = (QueueNode *)malloc(sizeof(QueueNode);t->data = p;t->next = NULL;W->rear->next = t;W->rear = t;return(1);void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /* 车 辆离开 */int i, room;CarNode *p

11、, *t;QueueNode *q;/* 判断车库内是否有车 */if (Enter->top > 0) /* 有车*/printf(" 请输入车在车库的位置 (1-%d):",Enter->top);/* 输入车辆离开的信息 */while (1)scanf("%d", &room);if (room >= 1 && room <= Enter->top) break;else printf(”错误!请重选:”);while (Enter->top > room) /* 车辆离开

12、*/Temp->top+;Temp->stackTemp->top = Enter->stackEnter->top;Enter->stackEnter->top =NULL;Enter->top-;p = Enter->stackEnter->top;Enter->stackEnter->top = NULL;Enter->top-;while (Temp->top >= 1)Enter->top+;Enter->stackEnter->top = Temp->stackTemp

13、->top;Temp->stackTemp->top =NULL;Temp->top-;PRINT(p, room); /*判断通道上是否有车及车库是否已满 */if (W->head != W->rear) && Enter->top < MAX) /*便道的车辆进入车库 */q = W->head->next;t = q->data;Enter->top+;printf("n便道的s号车进入车场第d位置.",t->num,Enter->top);printf("

14、n 请输入现在的时间 (*:*):");scanf("%d:%d", &(t->, &(t->);W->head->next = q->next;if (q = W->rear) W->rear = W->head;Enter->stackEnter->top = t;free(q);else printf("n 便道里没有车 .n");else printf("车库里没有车!n"); /*没车*/void List1(Moni_Cheku *S)

15、/*列表显示车库信息 */int i;if (S->top > 0) /*判断车库内是否有车 */printf(" 车库号到达时间 t 车牌号 n");for (i = 1; i <= S->top; i+)printf(" %d ", i);printf("t%d:%d",S->stacki->,S->stacki->printf("tt%sn",S->stacki->num);else printf(" 车库里没有车 n");voi

16、d List2(Moni_Biandao *W) /* 列表显示便道信息 */QueueNode *p;p = W->head->next;if (W->head != W->rear) /* 判断便道上是否有车 */printf(" 在便道里等待的车辆的号码为 :n");while (p != NULL)puts(p->data->num);p = p->next;else printf(" 便道里没有车 .n");void List(Moni_Cheku S, Moni_Biandao W)int flag, tag;flag = 1;while (flag)printf(H*查看*n");printf("1. 车库 2.便道 3.返回 n");printf(H*n");printf(" 请选择(1-3): bb");

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论