永发信息网

您好,请问您有c语言代码编写的停车场管理系统吗?能发给我一份吗?谢谢了

答案:2  悬赏:0  手机版
解决时间 2021-04-29 09:51
您好,请问您有c语言代码编写的停车场管理系统吗?能发给我一份吗?谢谢了!网上的都是一个样的,需要交作业,谢谢了!390707806@qq.com
最佳答案
去网上找找,不行在自己改改把!
全部回答
#define OVERFLOW -2 #define OK 1 #define ERROR 0 #define STACK_INIT_SIZE 1 typedef int status ; #include<stdio.h> #include<malloc.h> #include<stdlib.h> #include<conio.h> typedef struct {int car_num; int time; }car_info; typedef struct { car_info *base; car_info *top; status stacksize; }sqstack; void Initstack(sqstack *s) { s->base=(car_info *)malloc(STACK_INIT_SIZE*sizeof(car_info)); if(!s->base) exit(OVERFLOW); s->top=s->base; s->stacksize=0; } void push(sqstack *s,car_info e) { *s->top++=e; s->stacksize++; } car_info pop(sqstack *s) {car_info e; if(s->top==s->base) {printf("停车场内没有该车辆!\n"); exit(0) ;} e=*--s->top; s->stacksize--; return e; } typedef struct Qnode { int car_num; int time; struct Qnode *next; }QNode,*QueuePtr; typedef struct { QueuePtr front; QueuePtr rear; int lenth; }LinkQueue; status InitQueue(LinkQueue *Q) { Q->front=Q->rear=(QueuePtr)malloc(sizeof(QNode)); if(!Q->front)exit(OVERFLOW); Q->front->next=NULL; Q->lenth=0; return OK; } void EnQueue(LinkQueue *Q,car_info *a ) { QueuePtr p; p=(QueuePtr)malloc(sizeof(QNode)); if(!p)exit(OVERFLOW); p->car_num=a->car_num; p->time=a->time; p->next=NULL; Q->rear->next=p; Q->rear=p; Q->lenth++; } QueuePtr DeQueue(LinkQueue *Q) { QueuePtr p,e,s={0}; if(Q->front==Q->rear) {printf("便道上没有车辆!\n"); return s;} p=Q->front->next; e=p; Q->front->next=p->next; Q->lenth--; if(Q->rear==p)Q->front=Q->rear; //free(p); return e; } void arrive(sqstack *s,LinkQueue *p,car_info a,int n) { if(s->stacksize<n) { push(s,a); printf("\n车牌号为%d的车辆进入停车场%d号车道\n",a.car_num,s->stacksize); } else { EnQueue(p,&a); printf("\n停车场已满,车牌号为%d的车辆停在便道的%d号位置\n",a.car_num,p->lenth); } } void leave(sqstack *tcc,sqstack *dcc,LinkQueue *p,car_info a,float pay) { car_info x,ss; QueuePtr b; int find=1,arrivetime=0; float cost=0.0; while(find) { ss=pop(tcc); push(dcc,ss); if(ss.car_num==a.car_num) { find=0; cost=(a.time-ss.time)*pay; arrivetime=ss.time; } } pop(dcc); //把临时堆栈的第一辆车(要离开的)去掉; while(dcc->stacksize) { x=pop(dcc); push(tcc,x); } if(tcc->stacksize<2&&p->lenth!=0) { b=DeQueue(p); x.car_num=b->car_num; x.time=b->time; push(tcc,x); printf("车牌号为%d的车辆由便道进入停车场%d号车道\n",x.car_num,tcc->stacksize); } printf("\n**********************************************\n"); printf("|车牌号码|进站时刻|出站时刻|停留时间|停车费用|\n"); printf("|%-6d |%-6d |%-6d |%-6d |%-6.2f |\n",a.car_num,arrivetime,a.time,a.time-arrivetime,cost); printf("**********************************************\n"); } void main() {sqstack tcc,dcc; LinkQueue p; car_info a; int sum=1000,n; float pay; char sign; printf("\n|************************停车场管理**************************|\n"); printf("|******A/a:车辆到达*******D/d:车辆离开******E/e:推出系统*****|\n\n"); Initstack(&tcc); Initstack(&dcc); InitQueue(&p); printf("请先输入停车场的车位总数,收费标准(元/小时):"); scanf("%d%f",&n,&pay); getchar(); printf("\n请输入A/D/E,车牌号,时刻:"); scanf("%c%d%d",&sign,&a.car_num,&a.time); getchar(); while(sum) { switch(sign) { case 'a': case 'A':arrive(&tcc,&p,a,n);break; case 'D': case 'd':leave(&tcc,&dcc,&p,a,pay);break; case 'e': case 'E':exit(OVERFLOW);break; } printf("\n请输入A/D/E,车牌号,时刻:"); scanf("%c%d%d",&sign,&a.car_num,&a.time); getchar(); sum--; } getch(); }
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
减肥…怎么减才有效果?
赣州今天会下雪麽?
有么有山西专升本大学语文必备古诗词复习资料
内存条装一个8G跟装两个4G有区别吗?二者各有
现在我被一些网游之类的游戏搞的我连学习都没
谁能给我一个魔兽争霸3的简体中文补丁
什么叫视频频资料.上那找?
real的意思
那个给我空间摇滚背景音乐
北街五金土杂商店在哪里啊,我有事要去这个地
大连地铁属于哪个部门,成都市地铁属于哪个部
为什么我的飞车号总掉线
为什么我的QQ加好友的时候老是要输验证码 
谁可以告诉我代隐形眼镜是什么感觉?
新加坡酒店工作要不要大三阳的?
推荐资讯
怎么安排慈善演义
诺基亚6720和6730是否以停产?如没停产那这两
镇海区哪有奥比建设卡卖
DNF 亡灵如何加点
妮维雅草莓、玫瑰、樱桃唇膏颜色
红天商务宾馆地址在什么地方,想过去办事
小黑怎么样拉上龙不失败?
最终幻想一共几部?分别是什么?
永明钣金烤漆中心地址在哪,我要去那里办事
我的空间没有违法的信息,被举报了,我的网友
会员开通的方法
[情毒]这首歌曲的粤语版怎么找不到?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?