停车场管理系统C语言课程设计.doc

上传人:叶*** 文档编号:35099773 上传时间:2022-08-20 格式:DOC 页数:13 大小:37.50KB
返回 下载 相关 举报
停车场管理系统C语言课程设计.doc_第1页
第1页 / 共13页
停车场管理系统C语言课程设计.doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《停车场管理系统C语言课程设计.doc》由会员分享,可在线阅读,更多相关《停车场管理系统C语言课程设计.doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、停车场管理系统1题目要求设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放最先到达的第一辆车放在停车场的最里面。如果停车场已放满n辆车,那么后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,那么排在便道上的第一辆车就进入停车站。停车站内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车站为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次

2、序。编制一程序模拟该停车场的管理。【根本要求】要求程序输出每辆车到达后的停车位置停车场或便道上,以及某辆车离开停车场是的停车时间及它应该交的费用。2需求分析根据题目要求,因为停车场是一个单条的序列,可以用构造体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开场时,停车场要初始化。3总体设计这个系统可以分为:初始化、有车进入、有车离开、退出四个模块。4详细设计开场显示一系列选项功能输入n,判断n是不是1-4main()函数体内包含了界面选那么局部menu(),并单独抽出来作为一个独立函数,目的在于系统执行每局部模块后能够方便返回到系统界

3、面。即main()函数写为N如下:void main()/*主函数*/menu();/*菜单函数*/菜单函数:void menu()int n,w;doputs(tt*MENU*nn);puts(ttt 1.初始化);puts(ttt 2.有车进入);puts(ttt 3.有车离开);puts(ttt 4.退出);puts(nntt*n);printf(Please choice your number(1-4): bb);scanf(%d,&n);if(n4) /*对选择的数字作判断*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chu

4、shi();break; /*初始化函数*/case 2:jinru();break; /*车辆进入函数*/case 3:likai();break; /*车辆离开函数*/case 4:exit(0); /*退出*/初始化模块设计:【需求分析】该模块是将每一天开场的停车场内与便道车位清零。首先建立场内场外的构造体,构造体内成员即车位的状态。用循环实现车位的致零即可。struct changnei/*场内车道信息*/int neikong;chnN-1;struct changwai/*场外车道信息*/int waikong;chwM-1;N与M分别是停车场与便道的车位预设值,用宏定义。用户可根

5、据实际情况改变。#define N 100/*预设停车场有100个车位*/#define M 100/*预设便道有100个出位*/ void chushi()/*初始化函数*/int i,j;for(i=0;i=N-1;i+)chni.neikong=0;/*将场内车道设置为空*/for(j=0;j=M-1;j+)chwi.waikong=0;/*将便道车道设置为空*/printf(nntt已初始化nn);menu();函数出示化后将回到菜单界面。车辆进入函数:【需求分析】车辆到达后,要指定车辆的停车位置。用户根据菜单函数进入车辆进入模块。按照每辆车的到达次序给予车辆次序号,由0号开场。车辆信

6、息也建立构造体。struct car/*车辆信息*/int car_num;/*车辆次序号*/int car_arr;/*车辆到达时间*/int car_lef;/*车辆离开时间*/int car_stay;/*车辆停放位置*/carCIXUHAO;其中,CIXUHAO是车辆次序号的宏定义:#define CIXUHAO 1000/*预设车辆次序号。不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开场*/给予车辆次序号之后,用循环判断停车场是否停满,再分别给予选择:void jinru()/*车辆进入函数*/int i,a;int h=0;printf(nn请输入该车次序号从0号开场:

7、);scanf(%d,&a);for(i=0;iN;i+)if(chni.neikong=0);/*无车标记0*/if(chni.neikong=1)/*有车标记1*/h=h+1;if(h=N)printf(停车场内已停满,请停在便道上n);else cara.car_stay=h;chnh.neikong=1;printf(该车应该停在停车场内第道%d从0道开场记n,h);printf(请输入该车进停车场时刻24小时整点计时:n);scanf(%d,&cara.car_arr);便道上还有车吗?menu();程序执行完后回到菜单。有车离开记录该车离开时间得到停车时间与费用车辆离开函数:【需求

8、分析】假设有一辆车要离开,那么需要记录该车的离开时间,以计算出该车在停车场内的停车时间与应该缴纳的费用。该车离开后,要判断便道上是否有车等待进入,如有,那么将便道上第一辆车停放在停车场内最后的位置并记录好进场时间;假设无,那么返回菜单。void likai()/*车辆离开函数*/int i,k,choi,time;double fee;printf(请输入离开车辆次序号 ,并将此车之后的车先全部退出停车场!);scanf(%d,&i);printf(n请输入离开车辆的离开时刻24小时整点计时:n);scanf(%d,&cari.car_lef);fee=D*(cari.car_lef-cari

9、.car_arr);time=cari.car_lef-cari.car_arr;printf(次序号为%d的车停车时间%d小时,应收费%f元n,i,time,fee);printf(nnn请让场内退出的车再依次进场!nnn);printf(便道上现在有车吗?(请选择1或2)n1.有n2.没有n);/*因便道上可能没有车,因此要做选择*/scanf(%d,&choi);if(choi=2)menu();if(choi=1)printf(请让便道上的第一辆车进场n);printf(该车次序号为:n);scanf(%d,&k);printf(请输入该车进场时间:n);scanf(%d,&cark.

10、car_arr);menu();D为预设停车场单位小时费用,用宏定义,便于以后修改。#define D 1.2/*预设车辆停车费为1.2元每小时*/5上机操作(1) 主菜单函数(2) 初始化操作(3) 有车进入以上分别举例0,1,2三个车的进场情况(4) 有车离开假设便道上没车,那么退回到主菜单假设便道上有车6总结通过该实例的实习,要求大家进一步理解与运用构造化程序设计的思想与方法,初步掌握开发一个小型实用系统的根本方法,学会调试较长的程序,学会利用流程图表示算法,进一步掌握与提高利用C语言进展程序设计的能力。7原程序代码#include#include#include#define N 10

11、0/*预设停车场有100个车位*/#define M 100/*预设便道有100个出位*/#define D 1.2/*预设车辆停车费为1.2元每小时*/#define CIXUHAO 1000/*预设车辆次序号。不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开场*/void menu();void chushi();void jinru();void likai();struct car/*车辆信息*/int car_num;/*车辆次序号*/int car_arr;/*车辆到达时间*/int car_lef;/*车辆离开时间*/int car_stay;/*车辆停放位置*/car

12、CIXUHAO;struct changnei/*场内车道信息*/int neikong;chnN-1;struct changwai/*场外车道信息*/int waikong;chwM-1;void main()/*主函数*/menu();/*菜单函数*/void menu()int n,w;doputs(tt*MENU*nn);puts(ttt 1.初始化);puts(ttt 2.有车进入);puts(ttt 3.有车离开);puts(ttt 4.退出);puts(nntt*n);printf(Please choice your number(1-4): bb);scanf(%d,&n)

13、;if(n4)/*对选择的数字作判断*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break;/*初始化函数*/case 2:jinru();break;/*车辆进入函数*/case 3:likai();break;/*车辆离开函数*/case 4:exit(0);/*退出*/void chushi()/*初始化函数*/int i,j;for(i=0;i=N-1;i+)chni.neikong=0;/*将场内车道设置为空*/for(j=0;j=M-1;j+)chwi.waikong=0;/*将便道车道设置为空*/pri

14、ntf(nntt已初始化nn);menu();void jinru()/*车辆进入函数*/int i,a;int h=0;printf(nn请输入该车次序号从0号开场:);scanf(%d,&a);for(i=0;iN;i+)if(chni.neikong=0);/*无车标记0*/if(chni.neikong=1)/*有车标记1*/h=h+1;if(h=N)printf(停车场内已停满,请停在便道上n);else cara.car_stay=h;chnh.neikong=1;printf(该车应该停在停车场内第道%d从0道开场记n,h);printf(请输入该车进停车场时刻24小时整点计时:

15、n);scanf(%d,&cara.car_arr);menu();void likai()/*车辆离开函数*/int i,k,choi,time;double fee;printf(请输入离开车辆次序号 ,并将此车之后的车先全部退出停车场!);scanf(%d,&i);printf(n请输入离开车辆的离开时刻24小时整点计时:n);scanf(%d,&cari.car_lef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf(次序号为%d的车停车时间%d小时,应收费%f元n,i,time,fee);printf(nnn请让场内退出的车再依次进场!nnn);printf(便道上现在有车吗?(请选择1或2)n1.有n2.没有n);/*因便道上可能没有车,因此要做选择*/scanf(%d,&choi);if(choi=2)menu();if(choi=1)printf(请让便道上的第一辆车进场n);printf(该车次序号为:n);scanf(%d,&k);printf(请输入该车进场时间:n);scanf(%d,&cark.car_arr);menu();第 13 页

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

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

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