77范文网 - 专业文章范例文档资料分享平台

停车场管理系统1

来源:网络收集 时间:2019-03-10 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

计算机科学与技术专业13级

《数据结构》课程设计报告

项目:停车场管理系统姓名:党召班级:计科教师:

李鑫 李鹏

13-2班 曹军梅

一、题目要求:

.停车场管理2

1、有一个两层的停车场,每层有6个车位,当第一层车停满后才允许使用第二层,(停车场可用一个二维数组实现,每个数组元素存放一个车牌号)每辆车的信息包括车牌号,层号,车位号,停车时间共4项,其中停车时间按分钟计算。

2、假设停车场初始状态为第一层已经停有4辆车,其车位号依次为1-4,停车时间依次为20,15,10,5。即先将这四辆车的信息存入文件“car.dat\(数组的对应元素也要进行赋值)。

3、停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号(分配前先查询车位的使用情况,如果第一层有空则必须停在第一层),停车时间设为5,最后将新停入的汽车的信息添加文件\中,并将在此之前的所有车的停车时间加5。

4、收费管理(取车):当有车离开时,输入其车牌号,先按其停车时间计算费用,每5分钟0.2元。(停车费用可设置一个变量进行保存),同时从文件\中删除该车的信息,并将该车对应的车位设置为可使用状态(即二维数组对应元素清零)。按用户的选择来判断是否要输出停车收费的总计。

5、输出停车场中全部车辆的信息。 6、退出系统。

需求分析:

车辆信息用文件储存,提供文件的输入输出操作;当车离开时要删除文件中该车的信息,因而要提供文件的删除操作;另外还要用键盘式菜单实现功能选择。

第 1 页

二、总体设计思路:

整个管理系统设计可设计为停车模块、取车模块、车辆浏览信息模块。 另外车辆停放信息涉及到从car.dat中读取,保存和修改,为了方便起见,和程序的模块化,我们将文件的读入和保存单独设计为两个子程序。

输入车辆车牌号存车 putCar 停车模块 saveAll将车辆信息存入car.dat 输入车牌号码取车 getCar 取车模块 删除车辆信息 显示停车费用 Main 主模块 showInfo 车位信息 Exit 退出

各子程序设计如下:

图1 整体模块图 1.使用全局变量数组,用一个二维数组实现停车场车位的信息,

第 2 页

int cars[12][4];

2.通过读取car.dat的数据,对程序初始化。 下图为car.dat的初始数据:

在init()通过一个for循环完成对car.dat中数据的读取。

for(i=0;i<12;i++)

{ fscanf(fp,\ fscanf(fp,\ fscanf(fp,\ fscanf(fp,\ }

3.同理,我们设计一个子程序saveAll()用来保存停车场车位的信息到car.dat。用for循环再将处理后的数据存入文件中。

for(i=0;i<12;i++)

{ fprintf(fp,\fprintf(fp,\fprintf(fp,\fprintf(fp,\fprintf(fp,\}

4.进行对停车模块的设计:

首先,输入车辆的车牌号,我们从键盘读取车牌号码,并判断车牌号码是否正确(五位数整型车牌号码)。输入出错时要求继续输入。我们引入flag标志量

第 3 页

判断车牌号是否正确,初始int flag=1,从键盘读入车牌号码,并判断:

printf(\请输入您的车牌号:\do{ scanf(\ if((temp>9999)&&(temp<100000))break; flag=0; printf(\请重新输入五位数车牌号\\n :\}while(!flag);

其次,读取的车牌号正确之后对标志量清零flag=0,代表没有没有找到车位,进行为车辆找停车位的操作,如下:

flag=0;

for(i=1;i<13;i++) { if(cars[i][0]!=0) continue; cars[i][0]=temp; flag=1; break; }

通过for循环和continue语句找到没有停车的车位,即car[i][0]不等于0,并将标志量flag赋值1,表示有车位,用break语句跳出循环。

再用if语句处理flag==1的情况,即停车场车位已满无法停车。

最后,对存入的车辆赋初始时间5,并且前面的已存入的车辆时间都加5。语句如下:

for(i=0;i<12;i++)

{ if(cars[i][0]!=0) cars[i][3]+=5; cars[i][2]+=i; }

又因为我在car.dat已经对车辆的停放楼层和车位有过初始赋值,可以省去再对cars[i][1]和cars[i][2]的操作。并且可以满足“第一层有空位必须停在第一层”的要求,不过存在一个问题就是车辆只能按车位序号停放。

第 4 页

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库停车场管理系统1在线全文阅读。

停车场管理系统1.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/508506.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: