停车场管理系统9541686346

上传人:壹****1 文档编号:476195313 上传时间:2023-01-19 格式:DOC 页数:23 大小:203.50KB
返回 下载 相关 举报
停车场管理系统9541686346_第1页
第1页 / 共23页
停车场管理系统9541686346_第2页
第2页 / 共23页
停车场管理系统9541686346_第3页
第3页 / 共23页
停车场管理系统9541686346_第4页
第4页 / 共23页
停车场管理系统9541686346_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《停车场管理系统9541686346》由会员分享,可在线阅读,更多相关《停车场管理系统9541686346(23页珍藏版)》请在金锄头文库上搜索。

1、数据结构课程设计报告 题 目: 停车场管理系统 专 业: 软件工程班 级: 软件1001学 号: 101306104姓 名: 陈志勇任课教师:殷新春 2011年12月29日目录1. 问题描述-22. 需求分析-23. 概要设计-24. 详细设计-34.1 停车模块-44.2 车辆信息浏览模块-54.3 取车模块-85. 测试数据及测试结果-106. 课程设计小结-147. 源程序-14问题描述1. 有一个两层的停车场(模型取自扬州京华城地停车场),每层有6个车位,当第一层车位停满后才允许使用第二层,每辆车的信息包括车牌号,层号,车位号,停车时间共四项,其中停车时间按分钟计算。 2 停车操作:当

2、一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号,停车时间设为5,最后将新停入的汽车的信息添加文件“car.dat”中,并将在此之前的停车时间加5。 3 收费管理(取车):当有车开走时,输入其车牌号,先按其停车时间计算费用,每5分钟2毛钱。同时从文件“car.dat”k 删除该车的信息,并将该车对应的车位设置为可使用状态。按用户的选择来判断是否要输出 停车收费的总计。 5 输出 停车场中全部车辆的信息。 6 退出系统。 需求分析 车辆信息要用文件存储,提供文件的输入输出操作;当车开走时要删除文件中该车的信息,因而要提供文件的删除操作;另外还要用键盘式菜单实现功能选择。概要设计

3、整个管理系统可分为三个模块:停车模块、取车模块、信息浏览模块。停车场管理系统停车模块取车模块信息浏览模块运用C语言的知识编写代码实现这三个模块的成功运行。停车模块:选择1,进入停车模块。该模块需输入车牌号、然后系统会自动分配其车层及车位、若一层满了则会进入第二层、且会记录一个时间。这边的车牌号定义为1000到9999的数字。若输入错误车牌号或者已停车的车牌号,会跳回主页。取车模块:选择2,进入取车模块。该模块需输入要取出的车的车牌号、定义停车场内已停4辆车(分别为1234,2345,3456,4567)。输入车牌号后,会出现选择是否出现收费数据、此功能用于打印票据。信息浏览模块:选择3,进入信

4、息浏览模块。该模块可以直接进入,会依次显示正停在停车场的车辆的车牌号,楼层,车位及停车时间。清晰明了、若车辆离开后,则该组数据清零,直至另一辆车进入才会填补该车位空缺。详细设计首先定义包含与标准库有关的变量定义和宏定义和文件包含所用的文件#include #include #include#include#include 然后用一个二维数组来表示一个停车场的位置,每个数组元素存放一个车牌号int cars124=1234,1,1,20,2345,1,2,15,3456,1,3,10,4567,1,4,5,0,1,5,0,0,1,6,0,0,2,1,0,0,2,2,0,0,2,3,0,0,2,4

5、,0,0,2,5,0,0,2,6,0;/*二维数组代表停车信息*/后定义一个文件夹来储存所停车的信息,开始有四辆车在车库void save()FILE *fp;int i,j;if(fp=fopen(car.dat,w)=NULL)printf(cannot open filen);return;for(i=0;i12;i+)for(j=0;j4;j+)if(fwrite(cars,2,1,fp)!=1) printf(file write errorn); fclose(fp); getchar(); 一.停车模块开始输入车牌号车牌号在1000至9999之间?存入停车系统结束Nvoid ca

6、r_park(void)/*停车操作*/int x,i,j;printf(n - 欢迎您的光临! -n );printf( nn 请输入车牌号:nn);车牌号要在1000至9999之间,输入错误的车牌号将返回主菜单for (i=0;i12;i+) if(carsi0=x|x9999)break;if(i!=12)printf(n错误的号码或已经停过了 !n);getchar();/*如果此车号以在,打印此车已停*/else if(i=12&x=1000&x=9999)for (i=0;i12;i+)if(carsi0=0) carsi0=x;save();printf(nn成功nn);位置序号

7、层号车 位为车选择一个停车的位置,包括层号与位置号printf(层=%d,车位=%dn,carsi1,carsi2); printf(nnnTwo times Enter to end.);break; /*如果此车号不在,则进行停车操作*/for (i=0;i12;i+) if(carsi0!=0) carsi3+=5;/*所有停车时间+5*/save();/*保存以上信息到文件*/二车辆信息浏览模块把停车信息存入文件中关闭文件打开文件车辆信息存入文件void printfdata()/*停车信息*/int i,j;FILE *fp;fp=fopen(car.dat,r);/*打开文件car

8、.dat*/printf( n 车牌号 楼层 车位号 时间 n);for(i=0;i12;i+)for(j=0;j4;j+)fread(cars,2,1,fp);/*读文件*/printf( %6d,carsij);printf(n);fclose(fp);/*关闭文件car.dat*/void save();void car_park(void);void car_get(void);void printfdata();char readcommand();void initialization();插入主函数int main() char c; printf(按enter开始n); whi

9、le(1) initialization(); /*初始化界面*/ c=readcommand(); /*读取停车场状况*/system(cls);请选择所需要的操作,停车,取车,计时,选择以下操作“1”停车操作“2”取车操作“3”计算停车时间 switch(c) case 1: car_park(); break;/*停车操作*/ case 2: car_get(); break;/*取车操作*/ case 3: printfdata(); printf(nn please press Enter to continue.n); scanf(%c,&c); break;/*信息浏览*/ ca

10、se 4: printf(nnnn Press Enter to continue.);exit(0); break; default : printf(ERROR! Press Enter to continue.); getchar(); break;/*/void initialization() /*初始函数*/ int i; getchar(); printf(n 停车场管理系统nn); printf(n *n);printf( * *n);printf( * 车辆到来时请按 1 键。 *n);printf( * 车辆要走时请按 2 键。 *n); printf( * 查询停车时间按 3 键。 *n); printf( * 要退出程序请按 4 键。 *n);printf( * *);printf(n *nn);char readcommand() /*选择函数*/ char c;while(c!=1)&(c!=2)&(c!=3)&(c!=4) printf(输入 1,2,3,4 选择!n); c=getchar(); printf(n);break; return c;三.取车操作

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

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号