c语言车辆管理系统课程设计_第1页
c语言车辆管理系统课程设计_第2页
c语言车辆管理系统课程设计_第3页
c语言车辆管理系统课程设计_第4页
c语言车辆管理系统课程设计_第5页
已阅读5页,还剩8页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

#include<stdio、h>#include<stdlib、h>#include<string、h>#defineMAX3/*车库容量*/#defineprice0、5/*每车每分钟费用*/typedefstructtime{ﻩinthour; intmin;}Time;/*时间结点*/typedefstructnode{ charnum[10];ﻩTimereach; Timeleave;}CarNode;/*车辆信息结点*/typedefstructNODE{ CarNode*stack[MAX+1];ﻩinttop;}Moni_Cheku;typedefstructcar{ CarNode*data; structcar*next;}QueueNode;typedefstructNode{ﻩQueueNode*head; QueueNode*rear;}Moni_Biandao;voidInitStack(Moni_Cheku*);/*初始化车库*/intInitQueue(Moni_Biandao*);/*初始化便道*/intArrival(Moni_Cheku*,Moni_Biandao*);/*车辆到达*/voidLeave(Moni_Cheku*,Moni_Cheku*,Moni_Biandao*);/*车辆离开*/voidList(Moni_Cheku,Moni_Biandao);/*显示车库与便道得存车信息*/intmain(){ﻩMoni_ChekuEnter,Temp; Moni_BiandaoWait; intch; InitStack(&Enter);/*初始化车站*/ﻩInitStack(&Temp);/*初始化让路得临时链表*/ﻩInitQueue(&Wait);/*初始化便道*/ printf("\n"); printf("^_^欢迎进入停车场管理系统1!^_^\n"); printf("\n");ﻩprintf("提示!(1)、该车库得最大容量为:%d;\n",MAX);printf("(2)、该车库得收费标准为:%4、2f元/(辆*分钟)、\n",price); while(1)ﻩ{ﻩ system("CLS"); printf("********************主菜单********************\n");ﻩﻩprintf("1、车辆到达"); ﻩprintf("2、车辆离开"); ﻩprintf("3、列表显示"); printf("4、退出系统\n");ﻩ printf("**********************************************\n");ﻩ printf("请选择(1-4):[]\b\b");ﻩﻩwhile(1) ﻩ{ﻩﻩ scanf("%d",&ch);ﻩ ﻩif(ch>=1&&ch<=4)break;ﻩﻩﻩelseprintf("错误!请重选(1-4):[]\b\b"); } switch(ch) ﻩ{ case1:Arrival(&Enter,&Wait);break;/*车辆到达*/ ﻩcase2:Leave(&Enter,&Temp,&Wait);break;/*车辆离开*/ case3:List(Enter,Wait);break;/*打印列表信息*/ﻩﻩcase4:exit(0);/*退出主程序*/ default:break;ﻩ } }ﻩreturn0;}voidInitStack(Moni_Cheku*s)/*初始化车库*/{ﻩinti;ﻩs->top=0;ﻩfor(i=0;i<=MAX;i++) s->stack[s->top]=NULL;}intInitQueue(Moni_Biandao*Q)/*初始化便道*/{ﻩQ->head=(QueueNode*)malloc(sizeof(QueueNode));ﻩif(Q->head!=NULL)ﻩ{ﻩ Q->head->next=NULL; Q->rear=Q->head; ﻩreturn(1);ﻩ}ﻩelsereturn(-1);}voidPRINT(CarNode*p,introom)/*输出出库车得信息*/{ﻩintA1,A2,B1,B2;ﻩ{ printf("请输入离开得时间:/**:**/");ﻩﻩscanf("%d:%d",&(p->leave、hour),&(p->leave、min));ﻩ printf("离开车辆得车牌号为:"); puts(p->num); printf("其到达时间为:%d:%d\n",p->reach、hour,p->reach、min); ﻩprintf("离开时间为:%d:%d\n",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);ﻩ}}intArrival(Moni_Cheku*Enter,Moni_Biandao*W)/*车辆到达*/{ﻩCarNode*p;ﻩQueueNode*t; p=(CarNode*)malloc(sizeof(CarNode));ﻩfflush(stdin);ﻩprintf("请输入车牌号(例如:中CUG888):"); scanf("%s",&(p->num)); if(Enter->top<MAX)/*车库未满,车进车库*/ {ﻩ Enter->top++; printf("该车在车库位置%d、\n",Enter->top); printf("请输入到达时间(**:**):"); scanf("%d:%d",&(p->reach、hour),&(p->reach、min));ﻩﻩEnter->stack[Enter->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); }}voidLeave(Moni_Cheku*Enter,Moni_Cheku*Temp,Moni_Biandao*W)/*车辆离开*/{ inti,room; CarNode*p,*t;ﻩQueueNode*q;ﻩ/*判断车库内就是否有车*/ if(Enter->top>0)/*有车*/ﻩ{ﻩ printf("请输入车在车库得位置(1--%d):",Enter->top);/*输入车辆离开得信息*/ while(1) {ﻩ scanf("%d",&room); ﻩﻩif(room>=1&&room<=Enter->top)break; ﻩelseprintf("错误!请重选:");ﻩﻩ} ﻩwhile(Enter->top>room)/*车辆离开*/ {ﻩﻩ Temp->top++;ﻩ Temp->stack[Temp->top]=Enter->stack[Enter->top];ﻩﻩﻩEnter->stack[Enter->top]=NULL; ﻩEnter->top--;ﻩﻩ} p=Enter->stack[Enter->top]; ﻩEnter->stack[Enter->top]=NULL; Enter->top--; while(Temp->top>=1)ﻩ { ﻩﻩEnter->top++; ﻩﻩEnter->stack[Enter->top]=Temp->stack[Temp->top];ﻩ Temp->stack[Temp->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("\n请输入现在得时间(**:**):"); ﻩﻩscanf("%d:%d",&(t->reach、hour),&(t->reach、min));ﻩﻩﻩW->head->next=q->next;ﻩﻩ if(q==W->rear)W->rear=W->head; ﻩEnter->stack[Enter->top]=t;ﻩ ﻩfree(q);ﻩ } ﻩelseprintf("\n便道里没有车、\n");ﻩ}ﻩelseprintf("车库里没有车!\n");/*没车*/}voidList1(Moni_Cheku*S)/*列表显示车库信息*/{ﻩinti;ﻩif(S->top>0)/*判断车库内就是否有车*/ {ﻩﻩprintf("车库号到达时间\t车牌号\n"); ﻩfor(i=1;i<=S->top;i++)ﻩ {ﻩﻩﻩprintf("%d",i);ﻩﻩﻩprintf("\t%d:%d",S->stack[i]->reach、hour,S->stack[i]->reach、min);ﻩ ﻩprintf("\t\t%s\n",S->stack[i]->num);ﻩﻩ}ﻩ}ﻩelseprintf("车库里没有车\n");}voidList2(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;ﻩ }ﻩ} elseprintf("便道里没有车、\n");}voidList(Moni_ChekuS,Moni_BiandaoW){ intflag,tag;ﻩflag=1;ﻩwhile(flag)ﻩ{ printf("**********查瞧**********\n"); printf("1、车库2、便道3、返回\n");ﻩ printf("************************\n");ﻩ printf("请选择(1-3):[]\b\b");ﻩ while(1)ﻩﻩ{

温馨提示

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

最新文档

评论

0/150

提交评论