欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年数据结构c语言版课程设计报告停车场管理系统 .pdf

    • 资源ID:33371567       资源大小:275.86KB        全文页数:20页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年数据结构c语言版课程设计报告停车场管理系统 .pdf

    . word 专业资料课程设计 :停车场c 语言版本的数据结构课程设计,要求用栈模拟停车场,用队列模拟便道 ,实现停车场的收费管理系统名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 20 页 - - - - - - - - - . word 专业资料停车场停满车后车会停在便道上面下面附上源码 ,vc:(下编译#include /#include /malloc #include / 获取系统时间所用函数#include /getch() #include / 设置光标信息mallco 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 20 页 - - - - - - - - - . word 专业资料#define MaxSize 5 /* 定义停车场栈长度*/ #define PRICE 0.05 /* 每车每分钟收费值*/ #define BASEPRICE 0.5 / 基础停车费#define Esc 27 / 退出系统#define Exit 3 / 结束对话#define Stop 1 / 停车#define Drive 2 / 取车int jx=0,jy=32; / 全局变量日志打印位置typedef struct int hour; int minute; Time,*PTime; /* 时间结点 */ typedef struct /* 定义栈元素的类型即车辆信息结点*/ int num ; /* 车牌号 */ Time arrtime; /* 到达时刻或离区时刻*/ CarNode; typedef struct /* 定义栈 ,模拟停车场 */ CarNode stackMaxSize; int top; SqStackCar; typedef struct node /* 定义队列结点的类型*/ int num; /* 车牌号 */ struct node *next; QueueNode; typedef struct /* 定义队列 ,模拟便道 */ QueueNode *front,*rear; LinkQueueCar; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 20 页 - - - - - - - - - . word 专业资料/* 函数声明 */ PTime get_time(); CarNode getcarInfo(); void qingping(int a); void gotoxy(int x,int y); void printlog(Time t,int n,int io,char ab,int po,double f); void printstop(int a,int num,int x0,int y0); void printleave(int a,int po,int num); /* 初始化栈 */ void InitSeqStack(SqStackCar *s) s-top=-1; /* push入站函数*/ int push(SqStackCar *s,CarNode x) / 数据元素x 入指针 s 所指的栈 if(s-top=MaxSize-1) return(0); / 如果栈满 ,返回 0 else s-stack+s-top=x; / 栈不满 ,到达车辆入栈return(1); /* 栈顶元素出栈 */ CarNode pop(SqStackCar *s) CarNode x; if(s-toptop-; return(s-stacks-top+1); / 栈不空 ,返回栈顶元素 /* 初始化队列 */ void InitLinkQueue(LinkQueueCar *q) q-front=(QueueNode*)malloc(sizeof(QueueNode); / 产生一个新结点,作头结点if(q-front!=NULL) q-rear=q-front; q-front-next=NULL; q-front-num=0; / 头结点的num保存队列中数据元素的个数 /* 数据入队列 */ void EnLinkQueue(LinkQueueCar *q,int x) QueueNode *p; p=(QueueNode*)malloc(sizeof(QueueNode); / 产生一个新结点p-num=x; p-next=NULL; q-rear-next=p; / 新结点入队列q-rear=p; q-front-num+; / 队列元素个数加1 /* 数据出队列 */ int DeLinkQueue(LinkQueueCar *q) QueueNode *p; int n; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 20 页 - - - - - - - - - . word 专业资料if(q-front=q-rear) / 队空返回0 return(0); else p=q-front-next; q-front-next=p-next; if(p-next=NULL) q-rear=q-front; n=p-num; free(p); q-front-num-; return(n); / 返回出队的数据信息 /* 车辆到达*/ / 参数:停车栈停车队列车辆信息/ 返回值:空/ 功能:对传入的车辆进行入栈栈满则入队列void Arrive(SqStackCar *stop,LinkQueueCar *lq,CarNode x) int f; f=push(stop,x); / 入栈if (f=0) / 栈满 EnLinkQueue(lq,x.num); / 入队printstop(1,lq-front-num,0,23); printlog(x.arrtime,x.num,1,B,lq-front-num,0); qingping(0); printf(您的车停在便道%d 号车位上 n,lq-front-num); / 更新对话 else printstop(0,stop-top+1,0,23); printlog(x.arrtime,x.num,1,P,stop-top+1,0); qingping(0); printf(您的车停在停车场%d 号车位上 n,stop-top+1); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 20 页 - - - - - - - - - . word 专业资料/ 更新对话 qingping(1); printf(按任意键继续); getch(); /* 车辆离开*/ / 参数:停车栈指针s1,暂存栈指针s2,停车队列指针p,车辆信息x / 返回值:空/ 功能:查找栈中s1 的 x 并出栈,栈中没有则查找队p 中并出队,打印离开收费信息void Leave(SqStackCar *s1,SqStackCar *s2,LinkQueueCar *p,CarNode x) double fee=0; int position=s1-top+1; / 车辆所在车位int n,f=0; CarNode y; QueueNode *q; while(s1-top -1)&(f!=1) / 当栈不空且未找到x y=pop(s1); if(y.num!=x.num) n=push(s2,y); position-; else f=1; if(y.num=x.num) / 找到 x gotoxy(33,17);printf(%d:%-2d,(x.arrtime.hour-y.arrtime.hour),(x.arrtime.minute-y.arrtime.minute) ); fee=(x.arrtime.hour-y.arrtime.hour)*60+(x.arrtime.minute-y.arrtime.minute)*PRI名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 20 页 - - - - - - - - - . word 专业资料CE+BASEPRICE; gotoxy(48,17); printf(%2.1f元n,fee); qingping(0); printf(确认您的车辆信息); qingping(1); printf(按任意键继续); getch(); while(s2-top-1) y=pop(s2); f=push(s1,y); n=DeLinkQueue(p); if(n!=0) y.num=n; y.arrtime=x.arrtime; f=push(s1,y); printleave(p-front-num+1,position,s1-top+1); / 出栈动画ji 队列成员入栈printlog(x.arrtime,x.num,0,P,position,fee); printlog(y.arrtime,y.num,1,P,s1-top+1,0); else printleave(0,position,s1-top+2); printlog(x.arrtime,x.num,0,P,position,fee); else / 若栈中无x while(s2-top -1) / 还原栈 y=pop(s2); f=push(s1,y); q=p-front; f=0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 20 页 - - - - - - - - - . word 专业资料position=1; while(f=0&q-next!=NULL) / 当队不空且未找到x if(q-next-num!=x.num) q=q-next; position+; else / 找到 x q-next=q-next-next; p-front-num-; if(q-next=NULL) p-rear=p-front; gotoxy(33,17); printf(0:0); gotoxy(48,17); printf(0元); qingping(0); printf(您的车将离便道); qingping(1); printf(按任意键继续); getch(); printleave(-1,position,p-front-num+1); / 出队动画printlog(x.arrtime,x.num,0,B,position,0); f=1; if(f=0) / 未找到 x qingping(0); printf(停车场和便道上均无您的车); qingping(1); printf(按任意键继续); getch(); /* 获取系统时间 */ / 返回 PTime 类型PTime get_time() 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 20 页 - - - - - - - - - . word 专业资料 Time *t; t=new Time; time_t timer; struct tm *tblock; timer=time(NULL); tblock=localtime(&timer); t-minute=tblock-tm_min; t-hour=tblock-tm_hour; return t; /* 移动光标 */ / 蒋光标移动到(x,y)点void gotoxy(int x,int y) COORD coord; coord.X=x; coord.Y=y+3; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE),coord); /* 画图 */ / 画出系统界面void panitPL() gotoxy(20,4); printf(*对话框 *); int x=18,y=6; / 起始点int a24=2,0,0,1,-2,0,0,-1; / 方向for(int i=0;i2 ;i+) for(int j=0; j20; j+) x+=ai0; y+=ai1; gotoxy(x,y); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 20 页 - - - - - - - - - . word 专业资料printf( ); x+=ai0; y+=ai1; gotoxy(x,y); if(i=0) printf( );else printf( );for(j=0; j); c=getch(); if(c=13) return y-10; /enter键返回当前选项if(c!=-32)continue; / 不是方向键进行下次循环c=getch(); if(c=72) if(y11) y-; / 上if(c=80) if(y13) y+; / 下 / 输入车辆信息CarNode getcarInfo() PTime T; CarNode x; qingping(0); printf(请输入您的车牌号n); qingping(1); printf(在下面输入车辆信息); qingping(2); scanf(%d,&(x.num); T=get_time(); x.arrtime=*T; gotoxy(48,15); printf(%d:%d,x.arrtime.hour,x.arrtime.minute); getch(); return x; / 打印停车场void printcar() gotoxy(0,20); / printf();printf( 出场暂放区 1 2 3 4 5 );printf(- );名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 20 页 - - - - - - - - - . word 专业资料printf( 主 车 道 );printf(- );printf( 12 11 10 9 8 7 6 5 4 3 2 1 );printf( );printf( );printf( 便道停车区 1 2 3 4 5 );printf( ); printf( 停车场管理日志nn); printf( 时间车牌号进(1)/ 出(0) 车位 (B 便道 P 停车场 ) 收费 (元 ) ); / 打印日志记录void printlog(Time t,int n,int io,char ab,int po,double f) jy+; gotoxy(jx,jy); / printf( 时间车牌号进(1)/ 出(0) 车位 (B 便道 P 停车场 ) 收费 (元 ) ); if(io=0) printf( / %2.1f,f); gotoxy(jx,jy); printf( / %d / %c:%d,io,ab,po); gotoxy(jx,jy); printf( %d:%d / %d,t.hour,t.minute,n); void printstop(int a,int num,int x0,int y0) static char *car=【】; / int x0=0,y0=23; int x=0,y=28; if(a=0) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 20 页 - - - - - - - - - . word 专业资料 x=(num+6)*6; for(;x072;x0+) gotoxy(x0,y0); printf(%s,car); Sleep(30); gotoxy(x0,y0); printf( ); for(;y0 x;x0-) gotoxy(x0,y0); printf(%s,car); Sleep(50); gotoxy(x0,y0); printf( ); gotoxy(x,y); printf(%s,car); else x=(12-num)*6; y=y-3; for(;x0num) gotoxy(12-num)*6,y); printf( ); gotoxy(x,y); printf(%s,car); for(;xx0;x-) gotoxy(x,y-2); printf(%s,car); Sleep(30); gotoxy(x,y-2); printf( ); else i=num+1; for(;numpo;num-) x=(num+6)*6; y=28; for(;x21;y-) gotoxy(x,y); printf(%s,car); Sleep(50); gotoxy(x,y); printf( ); for(;x(i-num+6)*6;x-) gotoxy(x,y); printf(%s,car); Sleep(30); gotoxy(x,y); printf( ); gotoxy(x,y); printf(%s,car); x=(po+6)*6; y=28; for(;x23;y-) gotoxy(x,y); printf(%s,car); Sleep(50); gotoxy(x,y); printf( ); for(;x0;x-) gotoxy(x,y); printf(%s,car); Sleep(30); gotoxy(x,y); printf( ); num+; for(;i-num0;num+) x=(i-num+6)*6; y=21; for(;x72;x+) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 20 页 - - - - - - - - - . word 专业资料gotoxy(x,y); printf(%s,car); Sleep(30); gotoxy(x,y); printf( ); for(;y(num-1+6)*6;x-) gotoxy(x,y); printf(%s,car); Sleep(30); gotoxy(x,y); printf( ); gotoxy(x,y); printf(%s,car); if(a0) x=66; y=25; gotoxy(x,y); printf( ); gotoxy(x,y-2); printf(%s,car); Sleep(100); if(12a) gotoxy(12-a)*6,y); printf( ); if(a1) gotoxy(x,y); printf(%s,car); printstop(0,i-1,x,y-2); /* main 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 20 页 - - - - - - - - - . word 专业资料*/ int main(void) SqStackCar s1,s2; / 停车栈和暂存栈LinkQueueCar p; / 队列InitSeqStack(&s1); InitSeqStack(&s2); InitLinkQueue(&p); printf( 停车场管理系统nn); printf(* 欢(=_=)迎*n); printf( 收费标准:基础费0.5 元,每分钟收取0.05 元,收费精确到0.1 元n); printf( PS:车牌号由阿拉伯数字组成); panitPL(); printcar(); gotoxy(0,-3); char c=0; / 接受按键while(1) / 按 ESC 退出系统 for(int i=2;i-1 ;i-) / 初始化对话框qingping(i); printf(按 ESC 退出系统 ,其它键开始对话); c=getch(); if(c=Esc) qingping(0); break; while(1) qingping(2); gotoxy(28,8); printf(欢迎来到停车场!我是管理员小王。); gotoxy(28,9); printf(请您按选择需要的服务); gotoxy(28,11); printf( 1.我要停车 ); gotoxy(28,12); printf( 2.我要取车 ); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 19 页,共 20 页 - - - - - - - - - . word 专业资料gotoxy(28,13); printf( 3.结束对话 ); / 打印对话框完成int a=getkey(); if(a=Exit) printf(结束服务。 ); break; switch(a) case Stop: / 停车Arrive(&s1,&p,getcarInfo() ); break; case Drive: / 取车Leave(&s1,&s2,&p,getcarInfo() ); break; return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 20 页 - - - - - - - - -

    注意事项

    本文(2022年数据结构c语言版课程设计报告停车场管理系统 .pdf)为本站会员(H****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开