《C语言课程设计 停车场管理..docx》由会员分享,可在线阅读,更多相关《C语言课程设计 停车场管理..docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言课程设计停车场管理.当前位置:文档视界C语言课程设计停车场管理.C语言课程设计停车场管理.C语言程序设计报告前言设计目的:通过设计一个停车场管理系统,进一步消化和稳固已学过的C语言程序设计基础理论,学习和实践程序设计的各种技能,利用C语言来设计各种应用程序和管理系统,为社会提供各种当代化的管理工具,同时也把握与数组有关的算法、函数的调用、构造体类型变量的定义和使用;文件打开、关闭、读、写等文件操作函数的使用,提高实际运用能力。设计内容题目要求:27题:停车场管理2内容:1有一个两层的停车场,每层有6个车位,当第一层车位停满后才允许使用第二层停车场可用一个二维数组实现,每个数组元素存放一个
2、车牌号每辆车的信息包括车牌号,层号,车位号,停车时间共四项,其中停车时间按分钟计算。2假设停车场初始状态为第一层已经有四辆车,其车位号依次为1-4,停车时间依次为20,15,10,5。即先将这四辆车的信息存入文件“car.dat中数组的对应元素也要进行赋值3停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号分配前先查询车位的使用情况,假如第一层有空位则必须停在第一层,停车时间设为5,最后将新停入的汽车的信息添加文件“car.dat中,并将在此之前的停车时间加5。此题简化时间的处理:当有一辆车进入时才对别的车加时间5分钟4收费管理取车:当有车开走时,输入其车牌号,先按
3、其停车时间计算费用,每5分钟2毛钱。同时从文件“car.datk删除该车的信息,并将该车对应的车位设置为可使用状态即二维数组清零。按用户的选择来判定能否要输出停车收费的总计。5输出停车场中全部车辆的信息。6退出系统。需求分析车辆信息要用文件存储,提供文件的输入输出操作;当车开走时要删除文件中该车的信息,因此要提供文件的删除操作;另外还要用键盘式菜单实现功能选择。总体设计整个管理系统可设计为停车模块、取车模块、车辆信息阅读模块。具体设计首先定义包含与标准库有关的变量定义和宏定义和文件包含所用的文件#include#include#include#include#include然后用一个二维数组来
4、表示一个停车场的位置,每个数组元素存放一个车牌号intcars124=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,0,0,2,5,0,0,2,6,0;/*二维数组代表停车信息*/后定义一个文件夹来储存所停车的信息,开场有四辆车在车库voidsave()FILE*fp;inti,j;if(fp=fopen(car.dat,w)=NULL)printf(cannotopenfilen);return;for(i=0;iprintf(filewriteerro
5、rn);fclose(fp);getchar();一.停车模块voidcar_park(void)/*停车操作*/intx,i,j;printf(n-欢迎您的光临!-n);printf(nn请输入车牌号:nn);车牌号要在1000至9999之间,输入错误的车牌号将返回主菜单for(i=0;i9999)break;if(i!=12)printf(n错误的号码或已经停过了!n);getchar();/*假如此车号以在,打印此车已停*/elseif(i=12&x=1000&xprintf(层=%d,车位=%dn,carsi1,carsi2);printf(nnnTwotimesEntertoend.
6、);break;/*假如此车号不在,则进行停车操作*/for(i=0;iinitialization();/*初始化界面*/c=readcommand();/*读取停车场状况*/system(cls);请选择所需要的操作,停车,取车,计时,switch(c)casep:car_park();break;/*停车操作*/caseP:car_park();break;/*停车操作*/caseg:car_get();break;/*取车操作*/caseG:car_get();break;/*取车操作*/cased:printfdata();printf(nnpleasepressEntertocon
7、tinue.n);scanf(%c,break;/*停车信息*/caseD:printfdata();/*停车信息*/printf(nnrreupklfdkpleasepressEntertocontinue.n);scanf(%c,break;casee:printf(nnnnPressEntertocontinue.);exit(0);break;caseE:printf(nnnnPressEntertocontinue.);exit(0);break;default:printf(ERROR!PressEntertocontinue.);getchar();break;/*/voidin
8、itialization()/*初始函数*/inti;getchar();printf(n*n);printf(1.停车-p2.取车-g3.停车时间-d4.退出-E);printf(nn*n);charreadcommand()/*选择函数*/charc;while(c!=p)&(c!=P)&(c!=g)&(c!=G)&(c!=d)&(c!=D)&(c!=e)&(c!=E)printf(输入p,g,d,e选择!n);c=getchar();printf(n);break;returnc;三.取车操作当前位置:文档视界C语言课程设计停车场管理.C语言课程设计停车场管理.case1:printf(
9、nnn价格是%8.2fyuann,paid);/*打印停车费用*/carsi3=0;/*时间清零*/save();break;case2:printf(欢迎您下次光临);carsi3=0;/*时间清零*/save();break;default:break;else;break;if(i=12)printf(n此车不在停车场!n);/*假如此车不在,打印号码不在*/运行与测试报告:一.停车操作,请选择操作种类:当前位置:文档视界C语言课程设计停车场管理.C语言课程设计停车场管理.后记设计感想:众所周知,C语言程序是一种最基本的应用程序,只要熟练的把握和运用才能便于以后的编程。通过此次程序设计实习,我成功地完成了课堂上教师所要求的内容,愈加理解和懂得运用构造化程序设计的思想和方法,初步把握开发一个小型实用系统的基本方法,学会调试一个较长程序的的基本方法,学会利用流程图表示算法,进一步把握和提高利用C语言进行程序设计的能力。在编程经过中我们需要多练习,多考虑,要有耐心。在进行调试程序检错的时候,要从头开场,不要放过每一个小的环节。在实习中我也碰到了好多的问题,通过教师的细心讲解以及和同学们在一起讨论,不仅解决了很多问题,而且还学到了很多知识。
限制150内