C语言综合程序设计---停车场管理系统

上传人:豆**** 文档编号:43632621 上传时间:2021-12-03 格式:DOC 页数:8 大小:88.50KB
收藏 版权申诉 举报 下载
C语言综合程序设计---停车场管理系统_第1页
第1页 / 共8页
C语言综合程序设计---停车场管理系统_第2页
第2页 / 共8页
C语言综合程序设计---停车场管理系统_第3页
第3页 / 共8页
资源描述:

《C语言综合程序设计---停车场管理系统》由会员分享,可在线阅读,更多相关《C语言综合程序设计---停车场管理系统(8页珍藏版)》请在装配图网上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除综合性程序设计报告设计题目:_停车场管理系统_指导教师: _班 级: _学 号: _设 计 者: _成 绩: _设计时间: 年 月 日停车场管理系统目录1.题目描述2.功能模块分解及说明3.数据库设计及说明4.界面说明5.主要算法说明6.代码清单及注释7.设计测试说明8.设计体会停车场管理系统1.题目描述停车场的基本概述:用于利用计算机实现停车场的管理,包括车位调度,停车记费。车位记录,收费管理与计算。停车场的主要功能:1.车位调度。2.停车时间与费用的计算。3.车位记录。2.功能模块分解及说明根据题目要求,可以用结构体实现,在程序中,需要知道每

2、辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。所以,这个系统可以分为:初始化、有车进入、有车离开、退出四个模块。菜单函数:main()函数体内包含了界面选则部分menu(),并单独抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。即main()函数写为如下:void main()/*主函数*/menu();/*菜单函数*/void menu()int n,w;doputs(tt*MENU*nn);puts(ttt 1.初始化);puts(ttt 2.有车进入);puts(ttt 3.有车离开);puts(ttt

3、 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:chushi();break; /*初始化函数*/case 2:jinru();break; /*车辆进入函数*/case 3:likai();break; /*车辆离开函数*/case 4:exit(0); /*退出*/车道信息该模块是将每一天开始的停车场内和便道车位清零。首先建立场内场外的结构体,结构体

4、内成员即车位的状态。用循环实现车位的致零即可。struct changnei/*场内车道信息*/int neikong;chnN-1;struct changwai/*场外车道信息*/int waikong;chwM-1;N和M分别是停车场和便道的车位预设值,用宏定义。用户可根据实际情况改变。#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+)chw

5、i.waikong=0;/*将便道车道设置为空*/printf(nntt已初始化nn);menu();函数出示化后将回到菜单界面。车辆进入函数:该模块车辆到达后,要指定车辆的停车位置。用户根据菜单函数进入车辆进入模块。按照每辆车的到达次序给予车辆次序号,由0号开始。车辆信息也建立结构体。struct car/*车辆信息*/int car_num;/*车辆次序号*/int car_arr;/*车辆到达时间*/int car_lef;/*车辆离开时间*/int car_stay;/*车辆停放位置*/carCIXUHAO;其中,CIXUHAO是车辆次序号的宏定义:#define CIXUHAO 10

6、00/*预设车辆次序号。不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开始*/给予车辆次序号之后,用循环判断停车场是否停满,再分别给予选择: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;print

7、f(该车应该停在停车场内第道%d(从0道开始记)n,h);printf(请输入该车进停车场时刻(24小时整点计时):n);scanf(%d,&cara.car_arr);便道上还有车吗?menu();程序执行完后回到菜单。车辆离开函数:该模块一辆车要离开,则需要记录该车的离开时间,以计算出该车在停车场内的停车时间和应该缴纳的费用。该车离开后,要判断便道上是否有车等待进入,如有,则将便道上第一辆车停放在停车场内最YN后的位置并记录好进场时间;若无,则返回菜单.void likai()/*车辆离开函数*/int i,k,choi,time;double fee;printf(请输入离开车辆次序号

8、,并将此车之后的车先全部退出停车场!);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)

9、;if(choi=2)menu();if(choi=1)printf(请让便道上的第一辆车进场n);printf(该车次序号为:n);scanf(%d,&k);printf(请输入该车进场时间:n);scanf(%d,&cark.car_arr);menu();D为预设停车场单位小时费用,用宏定义,便于以后修改。#define D 1.2/*预设车辆停车费为1.2元每小时*/3.数据库设计及说明停车车道:用宏定义管理数据。N和M分别是停车场和便道的车位预设值原因以及说明:用户可根据实际情况改变。预设车辆次序号:用宏定义。原因及说明不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开始*/

10、给予车辆次序号之后,用循环判断停车场是否停满,再分别给予选择:停车费用:用宏定义。原因及说明:以后便于修改。车辆号码:用数组。原因及说明:车辆数目较大,用数组更加有条理。车道号码:用数组。原因及说明:车辆数目较大,用数组更加有条理。4.界面说明主菜单函数初始化操作有车进入以上分别举例0,1,2三个车的进场情况有车离开若便道上没车,则退回到主菜单若便道上有车开始显示一系列选项功能输入n,判断n是不是1-4? 根据n的值调用各功能模块函数结束YN5.主要算法说明主菜单车道是否停满。场内是否已满已满,将车停在便道未满,指定停车场位置便道上是否有车辆。有车离开记录该车离开时间得到停车时间和费用便道上还

11、有车吗?返回主菜单令其进场输入次序号和进场时间6.代码清单及注释#include#include#include#define N 100/*预设停车场有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;/*车辆次序号*/in

12、t car_arr;/*车辆到达时间*/int car_lef;/*车辆离开时间*/int car_stay;/*车辆停放位置*/carCIXUHAO;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.退出);

13、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: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.nei

14、kong=0;/*将场内车道设置为空*/for(j=0;j=M-1;j+)chwi.waikong=0;/*将便道车道设置为空*/printf(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

15、.neikong=1;printf(该车应该停在停车场内第道%d(从0道开始记)n,h);printf(请输入该车进停车场时刻(24小时整点计时):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

16、);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)

17、;menu();7.设计测试说明8.设计体会c 语言程序设计是一门重要的专业基础课,通过这次课程设计使我了解了,c语言程序设计的思想,并且掌握了程序设计的基本方法,为后续课程打下了坚实的基础。同时这次课程设计又是一次实践性较强的知识应用,在对我进行程序设计基础理论与技术技巧能力训练的同时,更加培养了我解决实际问题的编程能力。 在设计过程中,首先要解决的是与同学的合作,接下来分工与协商,共同探讨,大家取长补短,认清自己的不足之处和薄弱环节,加以弥补和加强,要做出 一个好的程序就要有不懈追求的精神和对理想崇高的追求,有一种不完成不罢休的精神。c语言作为一种高级编程语言具有方便灵活的特点,适合各种类

18、型的软件开发,为我们以后学习单片机非常有用。 在设计初期,根据题目的要求和所学的知识,车库中的车辆是先进后出是栈结构,便道上的车辆是先进先出的,是一个队列,结构很明显,但是现阶段我所学的基础知识不够,掌握的不多,对应用栈和队列来解决这个问题有一定的困难,因此我在整个设计中使用了结构体数组,运用一个结构体数组来同时记录车库和便道中车辆的信息,这样也可以起到一个连续记录数据的功能,完成设计要求的任务。课程设计为我提供了一个既动手又动脑,独立实践的机会,将课本上的知识 与实践相结合起来,提高了我适应实际,实践编程的能力。 在这一系统中用到了结构体,它让我更加巩固了结构体的特点和用法,本设计最好使用的结构是栈和队列,但是我们现阶段还未作学习,使用起来不是很流畅,因此我在这个设计中使用了结构体,使用了新的思路。 总之,这次课程设计挖掘了我潜在的能力,是我更加自信,也对编程更加有 兴趣,为以后的学习打下了良好的基础。【精品文档】第 8 页

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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