




已阅读5页,还剩40页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据结构课程设计题目停车场管理器设计院系信息工程学院专业计算机科学与技术姓名学号指导教师课程设计论文1课程设计任务书课程名称数据结构课程设计设计题目停车场管理器设计指导教师时间2013624201375一、教学要求1掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力2初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能3提高综合运用所学的理论知识和方法独立分析和解决问题的能力4训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风二、设计资料及参数每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。停车场管理器设计以结构体类型表示停车时间和车辆信息,在此基础上借助栈完成对车辆的入场和出场操作,借助队列完成辅助停车场便道,即存放等待入场车辆或辅助车场中的某辆车出场。要求设计类(或类模板)来描述栈、队列、停车场及其操作,包含必要的构造函数和析构函数,以及其他能够完成如下功能的成员函数压栈、退栈入队列、出队列车辆到场(有车位即入场,否则入便道等待)、车辆出场(任意位置车辆均可出场)查询车辆信息、输出停车场(包括停车位和便道的车辆)并设计主函数测试该类。三、设计要求及成果1分析课程设计题目的要求2写出详细设计说明3编写程序代码,调试程序使其能正确运行4设计完成的软件要便于操作和使用5设计完成后提交课程设计报告四、进度安排资料查阅与讨论(1天)系统分析(2天)系统的开发与测试(5天)编写课程设计说明书和验收(2天)五、评分标准1根据平时上机考勤、表现和进度,教师将每天点名和检查2根据课程设计完成情况,必须有可运行的软件。3根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。4根据答辩的情况,应能够以清晰的思路和准确、简练的语言叙述自己的设计和回答教师的提问六、建议参考资料1数据结构(C语言版)严蔚敏、吴伟民主编清华大学出版社2004112数据结构课程设计案例精编(用C/C描述),李建学等编著,清华大学出版社200723数据结构用面向对象方法与C语言描述,殷人昆主编,清华大学出版社20076课程设计论文2目录目录2第一章、需求分析3第一节、问题描述3第二节、基本要求3第二章、概要设计4第一节、设计思想4第二节、数据结构4第三节、程序模块5第三章、详细设计8第一节、数据类型8第二节、主要操作9第四章、测试与分析14第一节、调试过程中的主要问题14第二节、测试结果的分析与讨论14第五章、用户使用说明18第六章、总结18第七章、发现问题及错误分析20第一节、逻辑错误函数20第二节、修改前得代码20第三节、错误描述20第四节、解决方案如下22第八章、参考文献23附录代码24课程设计论文3第一章、需求分析根据题目要求,充分地分析和理解问题,描述系统的功能要求,明确问题要求做什么以及限制条件是什么第一节、问题描述随着我国人民生活水平提高和汽车工业的高速发展越来越多的家庭拥有了汽车,但受到土地的限制,所以采用立体停车场是解决停车难的必然出路。立体停车场占地少,容量大利用效率高;泊车与取车全自动化,省时省力,安全防盗。本文主要以两层停车场为例,设计一能完成存车与取车的停车场系统。有一个两层的停车场,每层有6个车位,当第一层车停满后才允许使用第二层停车场可用一个二维数组实现,每个数组元素存放一个车牌号每辆车的信息包括车牌号、层号、车位号、停车时间共4项,其中停车时间按分钟计算。假设停车场初始状态为第一层已经停有4辆车,其车位号依次为14,停车时间依次为20,15,10,5即先将这四辆车的信息存入文件”CARDAT”中数组的对应元素也要进行赋值。停车操作当一辆车进入停车场时,先输入其车牌号,再为它分配一个层号和一个车位号,停车时间设为5,最后将新停入的汽车的信息添加文件”CARDAT”中,并将在此之前的所有车的停车时间加5。收费管理取车当有车离开时,输入其车牌号,先按其停车时间计算费用,每5分钟02元停车费用可设置一个变量进行保存,同时从文件”CARDAT”中删除该车的信息,并将该车对应的车位设置为可使用状态即二维数组对应元素清零按用户的选择来判断是否要输出停车收费的总计。第二节、基本要求输入的形式和输入值的范围程序以车牌号作为车主的身份验证,以真实的汽车车牌号为准,当取车或停车时,需输入车牌号,输入字段长7位。输出的形式用户当车主存车时,要求显示空闲的车位,方便车主在层内选择(层间要满足,如果第一层有空则必须停在第一层)。当车主取车时,可以根据客户选择,决定是否输课程设计论文4出凭据。管理员能够查询全部车辆的信息。程序所能达到的功能用户存车包括查找空位,选择车位;用户取车包括出车,显示凭据。更改停车场的状态。停车场管理员初始化停车场,查询所有车的停车信息(历史停车信息),进行一定的查询功能。第二章、概要设计第一节、设计思想本停车场有两层,每层有6个车位,所以停车场可用一个二维数组实现,用来描述现停汽车的信息。每辆车用一结构体表示,包括车牌号、层号、车位号、停车时间和停车标志位(标志是否停车)。当车入库时,将更改二维数组的信息,当车出库时,将信息写入CARDAT中。再次进入该系统时,还用这个二维数组,来接受CARDAT数据的读入,便于用户以后的操作,防止停车信息的流失。此外,由于需要显示所有汽车的停车信息,所以我们又加了一个顾客结构体,一个顾客链表,当存车时,新建用户节点,并使用头插法,插于链表(便于取车时查到用户,补充完整用户的信息),填写用户的相关信息(车牌号,层号,车位号,车入库时刻)。当出库时,查找相应节点,补充完整用户信息,包括(用户留言,停车时间总计,花费)。当退出系统后,将已出库的汽车的车主信息,写入历史文件LISTDAT中,便于管理员的查询。将还未取走车的车主的信息存入临时文件TEMPDAT中,防止系统关闭后数据信息的丢失,车主取车时找不到车。第二节、数据结构结构体CAR,保存每个车位的停车信息。结构体SNODE,保存每个客户的信息。结构体USER,保存管理员信息。结构体DATE,保存时间。数组CARS,保存整个停车状况。课程设计论文5链表CUSTLIST,保存所有客户的信息,包括车已取走,和车未取走的。第三节、程序模块(1)此停车场管理系统,主要分为以下若干模块首先定义用来模拟停车的数组,用来保存顾客信息的链表,保存管理员信息的结构以及全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在主函数中首先调用OPTION函数,出现欢迎用户使用的界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的主界面(包括顾客界面和停车场管理员管理界面)。当用户选择顾客界面时,跳入到顾客界面,再次界面,用户可以选择存车、取车及返回主页面。在用户的选择过程中,程序又分别存车,取车函数调用以及退出程序这三个函数模块。其中,当存车时,调用了显示空闲车位状态的信息函数,并调用了保存CARDAT的函数;当取车时,调用显示本次停车情况以及消费金额的函数,并调用了保存CARDAT的函数。最后,在主界面选择“退出”,保存历史文件LISTDAT和临时文件TEMPDAT。当用户选择车管系统时,调用管理员身份验证函数,从而跳入车管界面,然后相应的功能函数,实现查询所有停车信息。(2)在以上各个模块中,出现的调用的函数为/客户VOIDCUSTOMERCARCARSFLOORPNUMBERVOIDCUSTOMERNOTECHARNOTE100,CUSTLISTCL/存车INTENTERPARKCARCARSFLOORPNUMBER,CHARLICENSE,INTVOIDGETDATEDATEBOOLISFULLCARCARSFLOORPNUMBERBOOLISSAMECARCARSFLOORPNUMBER,CHARLICENSE/取车INTCAROUTMENUCHARLICENSE,INTBOOLISEMPTYCARCARSFLOORPNUMBERVOIDPRINTCHARLICENSE,INTFLOOR,INTPNUMBER,INTPTIME,FLOATVOIDLEAVEPARKCARCARSFLOORPNUMBER,CHARLICENSE,INT课程设计论文6/后台管理VOIDMANAGECARCARSFLOORPNUMBER/保存到CARDATVOIDSAVECARSCARCARSFLOORPNUMBERVOIDFOURCARINCARCARSFLOORPNUMBER/初始停车场INTUSERTESTADD/管理员身份验证VOIDLOADCARCARSFLOORPNUMBER/加载文件VOIDLOADFILECARCARSFLOORPNUMBER,CHARLICENSE8,INTFLOOR,INTPNUMBER,INTPTIME,INTEMPTYVOIDSHOWCARSCARCARSFLOORPNUMBER,CUSTLISTCL/显示停车场现存车VOIDMESSAGECUSTLISTCLR/显示客户信息VOIDNEWS/发布消息VOIDINCOMECUSTLISTCL,CHARDAY,FLOAT/一些查询VOIDCHECKONECARCUSTLISTCLR,CHARLICENSE/后台中关于单链表的VOIDINITCUSTLISTCUSTLISTVOIDINSERTTOFIRSTCUSTLISTCL,CHARLICENSE,INTFLOOR,INTPNUMBER,DATEDATEVOIDINSERTTOLSTCUSTLISTCL,CHARLICENSE,INTFLOOR,INTPNUMBER,INTPTIME,FLOATCOST,DATEDATEVOIDSEARCHCUSTCUSTLISTVOIDSAVELISTTEMPCUSTLISTCL/保存到TEMPDATVOIDSAVELISTCUSTLISTCL/保存到LISTDATVOIDDELETEALLCUSTLISTCLVOIDREADFROMLISTCUSTLISTCLVOIDLOADLISTCUSTLISTCLRVOIDDELETEBYNOTECUSTLISTCL(3)各模块之间的调用关系以及算法设计下图是个模块之间的调用关系(如图21)课程设计论文7进入主页面客户界面停车场管理员界面存车界面取车界面返回主页初始停车场一个客户每天收入客户信息车辆信息退出输入车牌号满显示车位,客户选择车牌有效退出退出输入车牌号退出显示凭据客户留言返回主页否是注在取、存操作后,会自动保存信息到CARDAT中。在每次退出系统时,会保存LISTDAT和TEMPDAT。图21模块调用关系课程设计论文8第三章、详细设计实现概要设计中定义的所有数据类型,对主要操作写出实现算法,对主程序和其他模块写出算法,写出函数的调用关系。第一节、数据类型结构体CAR,保存每个车位的停车信息。STRUCTCARCHARLICENSE8INTFLOORINTPNUMBERINTPTIMEINTEMPTY/标志位,有车为1,无车为0结构体SNODE,保存每个客户的信息。STRUCTSNODECHARLICENSE8/车牌号DATEDATE/停车的时刻INTFLOORINTPNUMBERINTPTIMECOUNT/本次停车总时间FLOATCOSTCHARNOTE100/顾客留言SNODENEXT结构体USER,保存管理员信息。STRUCTUSER课程设计论文9CHARID10CHARNAME10CHARPASSWORD10结构体DATE,保存时间。STRUCTDATECHARDAY11CHARSHIKE9CHARWEEKDAY10数组CARS,保存整个停车状况。CARCARSFLOORPNUMBER链表,保存所有客户的信息,包括车已取走,和车未取走的。TYPEDEFSTRUCTSNODECUSTLIST第二节、主要操作(1)存车INTENTERPARKCARCARSFLOORPNUMBER,CHARLICENSE,INTWHILELICEN|STRLENLICEN7COUTLICEN/查看是否有重复WHILE1IFISSAMECARS,LICEN1COUTLICENELSEBREAK/判断车场是否已经满了/查看是否有空位,并显示。便于客户选择INTI,JIFISFULLCARS1COUTTEMFWHILE1IFCARSSIGNTEMF1EMPTY0RETURN1(2)取车VOIDLEAVEPARKCARCARSFLOORPNUMBER,CHARLICENSE,INT课程设计论文14IFSIGN0COUTINCLUDEINCLUDEINCLUDEINCLUDEDEFINEFLOOR2DEFINEPNUMBER6STRUCTCARCHARLICENSE10INTFLOORINTPNUMBERINTPTIMEINTEMPTY/标志位,有车为1,无车为0/顾客信息节点STRUCTCUSTOMERCHARLICENSE10/车牌号CHARDATE64/停车的时刻INTPTIMECOUNT/本次停车总时间FLOATCOSTCHARNOTE100/顾客留言CUSTOMERNEXT/顾客信息链表课程设计论文25TYPEDEFCUSTOMERCUSTLIST/管理员STRUCTUSERCHARID10CHARNAME10CHARPASSWORD10INTUSERTESTADDVOIDLOADCARCARS26VOIDLOADFILECARCARS26,CHARLICENSE10,INTFLOOR,INTPNUMBER,INTPTIME,INTEMPTYVOIDFOURCARINCARCARS26VOIDENTERPARKCARCARS26VOIDSHOWCARSCARCARS26VOIDSAVECARSCARCARS26BOOLISEMPTYCARCARS26VOIDPRINTCHARLICENSE,INTFLOOR,INTPNUMBER,INTPTIME,FLOATVOIDLEAVEPARKCARCARS26,CHARLICENSE,INTVOIDCAROUTMENUCHARLICENSE,INTVOIDMANAGECARCARS26VOIDINITCUSTLISTCUSTLISTVOIDCREATECUSTLISTCUSTLISTVOIDGETDATECHARTMP64VOIDSEARCHCUSTCUSTLISTVOIDCUSTOMERCARCARS26VOIDCUSTOMERNOTECHARNOTE100课程设计论文26VOIDEACHGUIDEINFORCARC/游客个人信息的自我查询VOIDEACHGUIDEINFORCARCCOUTSETFIOSLEFTCOUTWIDTH10COUTNOTE/存车课程设计论文27VOIDENTERPARKCARCARS26COUTLICENWHILELICENCOUTLICEN/判断车库是否已经满了,顺便将原来的PTIME加5INTI,JFORI0IA/IFAY/EACHGUIDEINFORCARS/取车VOIDLEAVEPARKCARCARS26,CHARLICENSE,INTIFSIGN0COUTIIFI3COUTCLICENSECOUTCFLOORCOUTCPNUMBERCOUTCPTIMECEMPTY1LOADFILECARS,CLICENSE,CFLOOR,CPNUMBER,CPTIME,CEMPTY/写入文件CARDATSAVECARSCARS/记录一个停车位的状态VOIDLOADFILECARCARS26,CHARLICENSE10,INTFLOOR,INTPNUMBER,INTPTIME,INTEMPTY课程设计论文35IFLICENSERETURNSTRCPYCARSFLOOR1PNUMBER1LICENSE,LICENSECARSFLOOR1PNUMBER1FLOORFLOORCARSFLOOR1PNUMB
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 车外壳配件采购合同协议
- 损失赔偿协议书协议书
- 社会学与文化研究试题集萃
- 《课程教学导论》课件
- 专家顾问聘用合同协议
- 旅游占地协议书
- 转让泡沫加工合同协议
- 退休人员用用工合同协议
- 日本休战协议书
- 足浴按摩店劳务合同协议
- 口腔科各项规章制度
- 传染病的预防和医院感染的防控
- 年加工2万吨再生铝项目可行性研究报告建议书
- 第20课 《飞夺泸定桥》说课稿-2024-2025学年统编版语文(五四学制)六年级上册
- 眼科手术的安全管理
- 保安公司战略发展规划
- 【MOOC】外国教育史-河南大学 中国大学慕课MOOC答案
- 抗肿瘤药物管理工作组成员及职责
- 2024年辽宁省中考生物真题卷及答案解析
- 第47届世界技能大赛江苏省选拔赛计算机软件测试项目技术工作文件
- 2024年湖南高考真题化学试题(解析版)
评论
0/150
提交评论