ImageVerifierCode 换一换
格式:DOC , 页数:39 ,大小:128.54KB ,
资源ID:3942650      下载积分:12 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3942650.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(数据结构课程设计-停车场管理系统-c++.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

数据结构课程设计-停车场管理系统-c++.doc

1、内蒙古科技大学课程设计论文内蒙古科技大学数据结构课 程 设 计题目停车场管理器设计院 系 信息工程学院专业 计算机科学与技术姓 名 马小强学 号 1167111103指 导 教 师 康懿 2013年7月5日内蒙古科技大学课程设计任务书课程名称数据结构课程设计设计题目停车场管理器设计指导教师康懿时间2013。6.24-2013.7。5一、教学要求1。 掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力2。 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3。 提高综合运用所学的理论知识和方法独立分析和解决问题的能力4。 训练用系统的观点和软件开发一般规范进行软件开

2、发,培养软件工作者所应具备的科学的工作方法和作风二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。停车场管理器设计以结构体类型表示停车时间和车辆信息,在此基础上借助栈完成对车辆的入场和出场操作,借助队列完成辅助停车场便道,即存放等待入场车辆或辅助车场中的某辆车出场。要求设计类(或类模板)来描述栈、队列、停车场及其操作,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数:v 压栈、退栈v 入队列、出队列v 车辆到场(有车位即入场,否则入便道等待)、车辆出场(任意位置车辆均可出场)v 查询车辆信息、输出停车场(包括停车位和便道的车辆) 并

3、设计主函数测试该类。三、设计要求及成果1. 分析课程设计题目的要求2. 写出详细设计说明3. 编写程序代码,调试程序使其能正确运行4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告四、进度安排资料查阅与讨论(1天)系统分析(2天)系统的开发与测试(5天)编写课程设计说明书和验收(2天)五、评分标准1。 根据平时上机考勤、表现和进度,教师将每天点名和检查2。 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。4。 根据答辩的情况,应能够以清晰的思路和准确、简练的语言叙述自己的设计和回答教师的提问六、建议参考资料1数

4、据结构(C语言版)严蔚敏、吴伟民主编清华大学出版社 2004.112数据结构课程设计案例精编(用C/C+描述),李建学 等 编著,清华大学出版社 2007。23.数据结构:用面向对象方法与C+语言描述,殷人昆主编,清华大学出版社 2007。6目录目录2第一章、需求分析3第一节、问题描述3第二节、基本要求3第二章、概要设计4第一节、设计思想4第二节、数据结构4第三节、程序模块5第三章、详细设计8第一节、数据类型8第二节、主要操作9第四章、测试与分析14第一节、调试过程中的主要问题14第二节、测试结果的分析与讨论14第五章、用户使用说明18第六章、总结18第七章、发现问题及错误分析20第一节、逻辑

5、错误函数20第二节、修改前得代码20第三节、错误描述20第四节、解决方案如下22第八章、参考文献23附录代码:24第一章、需求分析根据题目要求,充分地分析和理解问题,描述系统的功能要求,明确问题要求做什么?以及限制条件是什么?第一节、问题描述随着我国人民生活水平提高和汽车工业的高速发展越来越多的家庭拥有了汽车,但受到土地的限制,所以采用立体停车场是解决停车难的必然出路。立体停车场占地少,容量大利用效率高;泊车与取车全自动化,省时省力,安全防盗.本文主要以两层停车场为例,设计一能完成存车与取车的停车场系统。有一个两层的停车场,每层有6个车位,当第一层车停满后才允许使用第二层。(停车场可用一个二维

6、数组实现,每个数组元素存放一个车牌号)每辆车的信息包括车牌号、层号、车位号、停车时间共4项,其中停车时间按分钟计算 。假设停车场初始状态为第一层已经停有4辆车,其车位号依次为14,停车时间依次为20,15,10,5.即先将这四辆车的信息存入文件”car。dat中(数组的对应元素也要进行赋值) 。停车操作:当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号,停车时间设为5,最后将新停入的汽车的信息添加文件car.dat中,并将在此之前的所有车的停车时间加5.收费管理(取车):当有车离开时,输入其车牌号,先按其停车时间计算费用,每5分钟0。2元。(停车费用可设置一个变量进行保存)

7、,同时从文件”car.dat中删除该车的信息,并将该车对应的车位设置为可使用状态(即二维数组对应元素清零)。按用户的选择来判断是否要输出停车收费的总计。第二节、基本要求输入的形式和输入值的范围程序以车牌号作为车主的身份验证,以真实的汽车车牌号为准,当取车或停车时,需输入车牌号,输入字段长7位。输出的形式用户:当车主存车时,要求显示空闲的车位,方便车主在层内选择(层间要满足,如果第一层有空则必须停在第一层).当车主取车时,可以根据客户选择,决定是否输出凭据。管理员:能够查询全部车辆的信息.程序所能达到的功能用户存车:包括查找空位,选择车位;用户取车:包括出车,显示凭据.更改停车场的状态。停车场管

8、理员:初始化停车场,查询所有车的停车信息(历史停车信息),进行一定的查询功能.第二章、概要设计第一节、设计思想本停车场有两层,每层有6个车位,所以停车场可用一个二维数组实现,用来描述现停汽车的信息。每辆车用一结构体表示,包括车牌号、层号、车位号、停车时间和停车标志位(标志是否停车)。当车入库时,将更改二维数组的信息,当车出库时,将信息写入car。dat中。再次进入该系统时,还用这个二维数组,来接受car.dat数据的读入,便于用户以后的操作,防止停车信息的流失.此外,由于需要显示所有汽车的停车信息,所以我们又加了一个顾客结构体,一个顾客链表,当存车时,新建用户节点,并使用头插法,插于链表(便于

9、取车时查到用户,补充完整用户的信息),填写用户的相关信息(车牌号,层号,车位号,车入库时刻)。当出库时,查找相应节点,补充完整用户信息,包括(用户留言,停车时间总计,花费).当退出系统后,将已出库的汽车的车主信息,写入历史文件list.dat中,便于管理员的查询。将还未取走车的车主的信息存入临时文件temp。dat中,防止系统关闭后数据信息的丢失,车主取车时找不到车。第二节、数据结构结构体Car,保存每个车位的停车信息。结构体Snode ,保存每个客户的信息。结构体User,保存管理员信息。结构体Date,保存时间.数组Cars,保存整个停车状况。链表CustList,保存所有客户的信息,包括

10、车已取走,和车未取走的.第三节、程序模块(1)此停车场管理系统,主要分为以下若干模块:首先定义用来模拟停车的数组,用来保存顾客信息的链表,保存管理员信息的结构以及全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在主函数中首先调用option()函数,出现欢迎用户使用的界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的主界面(包括顾客界面和停车场管理员管理界面).当用户选择顾客界面时,跳入到顾客界面,再次界面,用户可以选择存车、取车及返回主页面。在用户的选择过程中,程序又分别存车,取车函数调用以及退出程序这三个函数模块。其中,当存车时,调用了显示空闲车位状态的信息函

11、数,并调用了保存car.dat的函数;当取车时,调用显示本次停车情况以及消费金额的函数, 并调用了保存car。dat的函数。最后,在主界面选择“退出”,保存历史文件list。dat和临时文件temp.dat.当用户选择车管系统时,调用管理员身份验证函数,从而跳入车管界面,然后相应的功能函数,实现查询所有停车信息.(2)在以上各个模块中,出现的调用的函数为:/- 客 户 -void Customer(Car carsFLOORPNUMBER);void CustomerNote(char note100,CustList cl);/存车int Enterpark(Car carsFLOORPNU

12、MBER,char license,int &floor,int pnumber);void GetDate(Date date);bool IsFull(Car carsFLOORPNUMBER);bool IsSame(Car carsFLOORPNUMBER,char license);/取车int CarOutMenu(char license,int floor,int &pnumber,int ptime,float cost,char note100);bool IsEmpty(Car carsFLOORPNUMBER);void Print(char license,int f

13、loor,int pnumber,int ptime,float &cost);void Leavepark(Car carsFLOORPNUMBER,char license,int &floor,int pnumber,int ptime,char note100);/-后台管理-void Manage(Car carsFLOORPNUMBER); /保存到car。datvoid Savecars(Car carsFLOORPNUMBER);void FourCarIn(Car CarsFLOORPNUMBER); /初始停车场int UsertestAdd();/管理员身份验证void

14、Load(Car carsFLOORPNUMBER); /加载文件void Loadfile(Car carsFLOORPNUMBER,char license8,int floor,int pnumber,int ptime,int empty);void Showcars(Car carsFLOORPNUMBER,CustList cl); /显示停车场现存车void Message(CustList clr); /显示客户信息void News();/发布消息void Income(CustList cl,char day,float amount); /一些查询void CheckOn

15、eCar(CustList *clr,char *license);/后台中关于单链表的void InitCustList(CustList &cl);void InsertToFirst(CustList *cl,char license,int floor,int pnumber,Date date);void InsertToLst(CustList cl,char *license,int floor,int pnumber,int ptime,float cost,Date date);void SearchCust(CustList *cl,char *license,float

16、cost,int ptimecount,char note);void SaveListTemp(CustList *cl);/保存到temp。datvoid SaveList(CustList cl); /保存到list.datvoid DeleteAll(CustList *cl);void ReadFromList(CustList cl);void LoadList(CustList *clr);void DeleteByNote(CustList cl);(3)各模块之间的调用关系以及算法设计下图是个模块之间的调用关系(如图21):退出停车场管理员界面显示凭据客户留言返回主页输入车牌

17、号退出退出显示车位,客户选择车牌有效输入车牌号退出一个客户每天收入客户信息车辆信息初始停车场返回主页存车界面取车界面客户界面进入主页面否是满注:在取、存操作后,会自动保存信息到car.dat中。在每次退出系统时,会保存list.dat和temp.dat。图2-1模块调用关系第三章、详细设计实现概要设计中定义的所有数据类型,对主要操作写出实现算法,对主程序和其他模块写出算法,写出函数的调用关系.第一节、数据类型结构体Car,保存每个车位的停车信息.struct Carchar license8;int floor;int pnumber;int ptime;int empty;/标志位,有车为1

18、,无车为0;结构体Snode ,保存每个客户的信息。struct Snodechar license8;/车牌号Date date;/停车的时刻int floor;int pnumber;int ptimecount;/本次停车总时间float cost;char note100;/顾客留言Snode next;;结构体User,保存管理员信息.struct Userchar id10;char name10;char password10;结构体Date,保存时间.struct Datechar day11;char shike9;char weekday10;;数组Cars,保存整个停车状

19、况。Car CarsFLOORPNUMBER;链表,保存所有客户的信息,包括车已取走,和车未取走的.typedef struct SnodeCustList;第二节、主要操作(1)存车:int Enterpark(Car carsFLOORPNUMBER,char license,int floor,int pnumber)/输入车牌号,判断车牌号的有效性cout”请输入车牌号:”;char licen8;cinlicen;while(!licen)(strlen(licen)!=7)cout”输入有误!请重新输入车牌号:;cinlicen;/查看是否有重复while(1)if(IsSame(

20、cars,licen)=1)cout”已经存在这辆车,请重新输入:endl;cinlicen;else break;/判断车场是否已经满了/查看是否有空位,并显示.便于客户选择int i,j;if(IsFull(cars)=1)cout”已经没有空车位了,谢谢惠顾!正在跳转到顾客界面。”endl;return 0;int sign=1;/sign 标志第几层有空位0表一,1表二cout”您可以选择的车位endl;cout”-”endl;cout.setf(ios:left);cout.width(8);cout”楼层;cout.width(8);cout车位号”;coutendl;for(i=

21、0;iFLOOR;i+)if(sign=0) break;for(j=0;jPNUMBER;j+)if((carsij。empty=0)&(i=0)sign=0;cout。setf(ios::left);cout。width(8);couti+1;cout。width(8);coutj+1endl;if(j=PNUMBER1) break;else if((carsij。empty=0)(i=1))cout.setf(ios:left);cout。width(8);couti+1;cout.width(8);coutj+1endl;cout-endl;int temf;couttemf;whi

22、le(1)if((carssigntemf-1.empty=0)&(temf=1temf=6))/修改一个车位的信息carssigntemf1。empty=1;floor=carssigntemf-1。floor=sign+1;pnumber=carssigntemf1。pnumber=temf;strcpy(carssigntemf1。license,licen);strcpy(license,licen);carssigntemf-1。ptime=0;/修改整个停车场的信息for(i=0;iFLOOR;i+)for(j=0;jPNUMBER;j+)if(carsij。empty=1)car

23、sij.ptime+=5;break;else couttemf;return 1;(2)取车:void Leavepark(Car carsFLOORPNUMBER,char license,int floor,int pnumber,int ptime,char note100)/判断车位是否已空if(IsEmpty(cars)=1) cout”停车场已没有车停放!请确定您是否停车.endl;return;/查找车位int sign=1;/标志位,车库有该车为1,没有赋值为零,初始值为0int i,j;while(sign)for(i=0;iFLOOR;i+)for(j=0;jPNUMBE

24、R;j+)if(strcmp(carsij。license,license)=0)sign=0;floor=i;pnumber=j;ptime=carsij.ptime;if(sign)cout您刚才输入的车牌号不存在!”endl;coutlicense;if(sign=0) cout#include stdlib.hinclude #define FLOOR 2define PNUMBER 6struct Carchar license10;int floor;int pnumber;int ptime;int empty;/标志位,有车为1,无车为0;/顾客信息节点struct Custo

25、merchar license10;/车牌号char date64;/停车的时刻int ptimecount;/本次停车总时间float cost;char note100;/顾客留言Customer next;;/顾客信息链表typedef Customer CustList;/管理员struct Userchar id10;char name10;char password10;int UsertestAdd();void Load(Car cars26);void Loadfile(Car cars26,char license10,int floor,int pnumber,int p

26、time,int empty);void FourCarIn(Car Cars26);void Enterpark(Car cars26);void Showcars(Car cars26);void Savecars(Car cars26);bool IsEmpty(Car cars26);void Print(char license,int floor,int pnumber,int ptime,float &cost);void Leavepark(Car cars26,char license,int floor,int pnumber,int ptime,float cost,ch

27、ar note100);void CarOutMenu(char license,int floor,int pnumber,int &ptime,float cost,char note100);void Manage(Car cars26);void InitCustList(CustList cl);void CreateCustList(CustList cl,char *license);void GetDate(char tmp64);void SearchCust(CustList cl,char *license,float cost,int pcount);void Cust

28、omer(Car cars26);void CustomerNote(char note100);void EachGuideInfor(Car c);/游客个人信息的自我查询void EachGuideInfor(Car c)cout。setf(ios:left);cout.width(10);cout车牌号;cout。width(8);cout楼层”;cout.width(8);cout车位号”;cout。width(8);cout停车开始时间endl;cout.setf(ios:left);cout。width(10);coutc。license;cout。width(8);coutc。

29、floor;cout。width(8);coutc。pnumber;cout。width(8);coutc。ptimeendl;/顾客留言void CustomerNote(char note100)cout”请留言:;cinnote;/存车void Enterpark(Car cars26)cout”input your license”licen;while(!licen)cout”input your license”endl;cinlicen;/判断车库是否已经满了,顺便将原来的ptime加5int i,j;for(i=0;i2;i+)for(j=0;j6;j+)if(carsij。empty=1)carsij。ptime +=5;elsecarsij。floor =i+1;carsij。pnumber =j+1;carsij.ptime=5;carsij.empty=1;strcpy(carsij。license,licen);return; /如果使用break,

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服