c语言车辆管理系统课程设计.docx

上传人:牧羊曲112 文档编号:3155433 上传时间:2023-03-11 格式:DOCX 页数:8 大小:38.57KB
返回 下载 相关 举报
c语言车辆管理系统课程设计.docx_第1页
第1页 / 共8页
c语言车辆管理系统课程设计.docx_第2页
第2页 / 共8页
c语言车辆管理系统课程设计.docx_第3页
第3页 / 共8页
c语言车辆管理系统课程设计.docx_第4页
第4页 / 共8页
c语言车辆管理系统课程设计.docx_第5页
第5页 / 共8页
亲,该文档总共8页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《c语言车辆管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《c语言车辆管理系统课程设计.docx(8页珍藏版)》请在三一办公上搜索。

1、c语言车辆管理系统课程设计#include #include #include #define MAX 3 /*车库容量*/ #define price 0.5 /*每车每分钟费用*/ typedef struct time int hour; int min; Time; /*时间结点*/ typedef struct node char num10; Time reach; Time leave; CarNode;/*车辆信息结点*/ typedef struct NODE CarNode *stackMAX + 1; int top; 1 Moni_Cheku; typedef stru

2、ct car CarNode *data; struct car *next; QueueNode; typedef struct Node QueueNode *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_Bian

3、dao *); /*车辆离开*/ void List(Moni_Cheku, Moni_Biandao); /*显示车库和便道的存车信息*/ 2 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;

4、n, MAX); printf( (2).该车库的收费标准为:%4.2f元/.n, price); while (1) system(CLS); printf(*n); printf(1.车辆到达); printf( 2.车辆离开); printf( 3.列表显示); 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_Biand

5、ao *Q) /*初始化便道*/ Q-head = (QueueNode *)malloc(sizeof(QueueNode); if (Q-head != NULL) Q-head-next = NULL; Q-rear = Q-head; return(1); else return(-1); void PRINT(CarNode *p, int room) /*输出出库车的信息*/ int A1, A2, B1, B2; 5 printf(请输入离开的时间:/*:*/); scanf(%d:%d, &(p-leave.hour), &(p-leave.min); printf(离开车辆的

6、车牌号为:); puts(p-num); printf(其到达时间为: %d:%dn, p-reach.hour, p-reach.min); printf(离开时间为: %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_Bia

7、ndao *W) /*车辆到达*/ CarNode *p; QueueNode *t; 6 p = (CarNode *)malloc(sizeof(CarNode); fflush(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; retur

8、n(1); else /*车库已满,车进便道*/ printf(该车须在便道等待!n); t = (QueueNode *)malloc(sizeof(QueueNode); t-data = p; t-next = NULL; W-rear-next = t; W-rear = t; return(1); 7 void Leave(Moni_Cheku *Enter, Moni_Cheku *Temp, Moni_Biandao *W) /*车辆离开*/ int i, room; CarNode *p, *t; QueueNode *q; /*判断车库内是否有车*/ if (Enter-to

9、p 0) /*有车*/ printf(请输入车在车库的位置(1-%d):, Enter-top);/*输入车辆离开的信息*/ while (1) scanf(%d, &room); if (room = 1 & room top) break; else printf(错误!请重选:); while (Enter-top room) /*车辆离开*/ 8 Temp-top+; Temp-stackTemp-top = Enter-stackEnter-top; Enter-stackEnter-top = NULL; Enter-top-; p = Enter-stackEnter-top;

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

11、er-top); printf(n请输入现在的时间(*:*):); scanf(%d:%d, &(t-reach.hour), &(t-reach.min); 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) /*列表显示车库信息*/ int i; if (S-top 0) /*判断车库内是否有车*/ pri

12、ntf(车库号 到达时间 t车牌号n); for (i = 1; i top; i+) printf( %d , i); 10 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-next; if (W-head != W-rear) /*判断便道上是否有车*/ printf(在便道里等待的车辆的号码为

13、:n); while (p != NULL) puts(p-data-num); p = p-next; else printf(便道里没有车.n); 11 void List(Moni_Cheku S, Moni_Biandao W) int flag, tag; flag = 1; while (flag) printf(*查看*n); printf(1.车库2.便道3.返回n); printf(*n); printf(请选择(1-3): bb); while (1) scanf(%d, &tag); if (tag = 1 & tag = 3) break; else printf(错误!请重选(1-3): bb); switch (tag) 12 case 1: List1(&S); break;/*列表显示车库信息*/ case 2: List2(&W); break; /*列表显示便到信息*/ case 3: flag = 0; break; default: break; 13

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号