c语言车辆管理系统课程设计报告

上传人:yh****1 文档编号:269184286 上传时间:2022-03-22 格式:DOC 页数:13 大小:26.50KB
返回 下载 相关 举报
c语言车辆管理系统课程设计报告_第1页
第1页 / 共13页
c语言车辆管理系统课程设计报告_第2页
第2页 / 共13页
c语言车辆管理系统课程设计报告_第3页
第3页 / 共13页
c语言车辆管理系统课程设计报告_第4页
第4页 / 共13页
c语言车辆管理系统课程设计报告_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《c语言车辆管理系统课程设计报告》由会员分享,可在线阅读,更多相关《c语言车辆管理系统课程设计报告(13页珍藏版)》请在金锄头文库上搜索。

1、-#include #include #include #define MA* 3 /*车库容量*/ #define price 0.5 /*每车每分钟费用*/ typedef struct timeint hour;int min;Time; /*时间结点*/typedef struct nodechar num10;Time reach;Time leave;CarNode;/*车辆信息结点*/typedef struct NODECarNode *stackMA* + 1;int top;Moni_Cheku;typedef struct carCarNode *data;struct

2、car *ne*t;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 *); /*车辆离开*/void List(Moni_Cheku, M

3、oni_Biandao); /*显示车库和便道的存车信息*/int main()Moni_Cheku Enter, Temp;Moni_Biandao Wait;int ch;InitStack(&Enter); /*初始化车站*/InitStack(&Temp); /*初始化让路的临时链表*/InitQueue(&Wait); /*初始化便道*/printf(n);printf( _欢送进入停车场管理系统1!_n);printf(n);printf(提示! (1).该车库的最大容量为:%d;n, MA*); printf( (2).该车库的收费标准为:%4.2f元/辆*分钟.n, price

4、);while (1)system(CLS);printf(*主菜单*n);printf(1.车辆到达);printf( 2.车辆离开);printf( 3.列表显示);printf( 4.退出系统n);printf(*n);printf(请选择(1-4): bb);while (1)scanf(%d,&ch);if (ch = 1 & ch top = 0;for (i = 0; i stacks-top = NULL;int InitQueue(Moni_Biandao *Q) /*初始化便道*/Q-head = (QueueNode *)malloc(sizeof(QueueNode);

5、if (Q-head != NULL)Q-head-ne*t = NULL;Q-rear = Q-head;return(1);else return(-1);void PRINT(CarNode *p, int room) /*输出出库车的信息*/int A1, A2, B1, B2;printf(请输入离开的时间:/*:*/);scanf(%d:%d, &(p-leave.hour), &(p-leave.min);printf(离开车辆的车牌号为:);puts(p-num);printf(其到达时间为: %d:%dn, p-reach.hour, p-reach.min);printf(

6、离开时间为: %d:%dn, p-leave.hour, p-leave.min);A1 = p-reach.hour;A2 = p-reach.min;B1 = p-leave.hour;B2 = p-leave.min;printf(应交费用为:%4.2f元, (B1 - A1) * 60 + (B2 - A2)*price);free(p);int Arrival(Moni_Cheku *Enter, Moni_Biandao *W) /*车辆到达*/CarNode *p;QueueNode *t;p = (CarNode *)malloc(sizeof(CarNode);fflush(

7、stdin);printf(请输入车牌号(例如:中CUG888):);scanf(%s,&(p-num);if (Enter-top top+;printf(该车在车库位置%d.n, Enter-top);printf(请输入到达时间(*:*):);scanf(%d:%d, &(p-reach.hour), &(p-reach.min);Enter-stackEnter-top = p;return(1);else /*车库已满,车进便道*/printf(该车须在便道等待!n);t = (QueueNode *)malloc(sizeof(QueueNode);t-data = p;t-ne*

8、t = NULL;W-rear-ne*t = t;W-rear = t;return(1);void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /*车辆离开*/int i, room;CarNode *p, *t;QueueNode *q;/*判断车库是否有车*/if (Enter-top 0) /*有车*/printf(请输入车在车库的位置(1-%d):, Enter-top);/*输入车辆离开的信息*/while (1)scanf(%d, &room);if (room = 1 & room top) break

9、;else printf(错误!请重选:);while (Enter-top room) /*车辆离开*/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-top;Temp-stackTemp-top

10、= NULL;Temp-top-;PRINT(p, room); /*判断通道上是否有车及车库是否已满*/if (W-head != W-rear) & Enter-top head-ne*t;t = q-data;Enter-top+;printf(n便道的%s号车进入车场第%d位置., t-num, Enter-top);printf(n请输入现在的时间(*:*):);scanf(%d:%d, &(t-reach.hour), &(t-reach.min);W-head-ne*t = q-ne*t;if (q = W-rear) W-rear = W-head;Enter-stackEnt

11、er-top = t;free(q);else printf(n便道里没有车.n);else printf(车库里没有车!n); /*没车*/void List1(Moni_Cheku *S) /*列表显示车库信息*/int i;if (S-top 0) /*判断车库是否有车*/printf(车库号 到达时间 t车牌号n);for (i = 1; i top; i+)printf( %d , i);printf( t%d:%d, S-stacki-reach.hour, S-stacki-reach.min);printf(tt%sn,S-stacki-num);else printf(车库里没有车n);void List2(Moni_Biandao *W) /*列表显示便道信息*/QueueNode *p;p = W-head-ne*t;if (W-head != W-rear) /*判断便道上是否有车*/printf(在便道里等待的车辆的为:n);while (p != NULL)

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号