您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据结构与算法 > 停车场管理系统设计报告
1计算机学院计算机科学与技术专业《程序设计综合课程设计》报告(200*/200*学年第一学期)学生姓名:***学生班级:计算机学生学号:*************指导教师:**200*年*月*日2第一章课程设计的目的和要求一.综合要求和目的:C语言课程设计的主要目的是培养学生综合运用C语言程序设计课程所学到的知识,编写C程序解决实际问题的能力,以及严谨的工作态度和良好的程序设计习惯。通过课程设计的训练,学生应该能够了解程序设计的基本开发过程,掌握编写、调试和测试C语言程序的基本技巧,充分理解结构化程序设计的基本方法。C语言程序设计的主要任务是要求学生遵循软件开发过程的基本规范,运用结构化程序设计的方法,按照课程设计的题目要求,分析、设计、编写、调试和测试C语言程序及编写设计报告。二.本课程设计的目标:1.巩固和加深学生对C语言课程的基本知识的理解和掌握2.掌握C语言编程和程序调试的基本技能3.掌握利用C语言进行软件设计的方法4.提高书写程序设计说明文档的能力5.提高运用C语言解决实际问题的能力三.基本要求:1.分析课程设计题目的要求2.对系统功能模块进行分析,写出详细的设计说明文档3.编写程序代码,代码量要求不少于300行,调试程序使其能正确运行4.设计完成的软件要便于操作和使用5.设计完成后提交课程设计报告3目录第一章课程设计的目的和要求…………………………………1第二章课程设计任务内容………………………………………2第三章详细设计说明……………………………………………33.1函数功能说明……………………………………………………33.2函数参数说明……………………………………………………53.3函数流程图………………………………………………………73.4编码及调试………………………………………………………12第四章软件使用说明……………………………………………22第五章课程设计心得与体会……………………………………23附录一参考文献…………………………………………………24附录二程序清单…………………………………………………254第二章课程设计任务内容计算机科学与技术学院课程设计任务书课程设计名称程序设计基础综合课程设计课程设计题目停车场管理系统学生姓名蒋晓英专业班级计算机072002学号200720010206课程设计任务内容设计一个程序实现停车场管理系统,管理人员根据口令进入系统。管理车位信息(车位编号,状态)和每小时的收费费率(货车7元/小时,客车5元/小时,轿车4元/小时,其他3元/小时,由停车时开始计时选择录入)。停车时,建立对象,录入信息(车牌号,停泊位置,停泊开始时间);停车位第一个为空的位置,由程序查询自动给出车位号,如果车位已满要给出提示。取车时,需要根据车辆停泊时间自动计算费用(半小时内以半价计算,超出半小时不足一小时按一小时计算)并显示在屏幕上。可以随时根据车牌查询是否入库。可以随时根据车位查询该位置上的相关信息。可以随时从文件中查询以前的停车记录。将车场信息保存到文件备份。对系统功能模块进行分析,写出详细设计说明文档,编写程序代码,代码量要求不少于300行。调试程序使其能正确运行。指导教师:刘静时间:2007年12月8日5停车场管理系统第三章详细设计说明3.1函数功能说明该软件主要是实现对停车场进行系统化的管理,首先可以对停车场进行初始化设置,其次可以存放车辆,然后可以取走车辆并计算相应的停车费,还有就是可按车位查询此车位上的相关信息,可按车牌号查询该车是否入库、何时到达的等,可查询现在停车场的所有信息以及以前来停过的车的相关信息,而且可以对每天的车场信息进行保存备份,由此来系统化管理停车场,并达到简易操作的目的。3.1.1功能分析说明图该软件功能分析说明图如3-1-1所示:图3-1-13.1.2各项功能说明(1)停车场的初始化(Car*car_creat()):这部分的功能主要是实现停车场的全部初始化,将所有的车位统一成一种形式,便于以后停车。首先按程序提示输入车到达的日期(********)、车牌号(kong)、车位状态(nocar)、车停在车场的位置(1)、车到达的时间(0000)、离开时间(0000),用一个while循环,把所有的车位都初始化成这种状态,初始化完毕后给出提示:该车场已全部初始化!!!之后返回主菜单界面。初始化停车场停车取车查看车场全部信息保存车场信息按车牌号查询是否入库按车位查询相关信息退出系统6(2)停车(Car*car_park(Car*head):此功能是实现停车操作,首先根据提示输入该车到达的日期、车牌号以及到达时间,然后根据车位状态找到空的车位停放车,此时系统给出提示:欢迎来到我们的停车场,你的车位是第*号^_^,如果车场已全部停有车,给出提示:车场已满,没有空位!(3)取车(Car*car_leave(Car*head)):进入该功能界面后,按提示输入要取走的车的车牌号,然后找到该车(如果找不到,给出提示:车场里没有这辆车!)输出其其他的相关信息,再根据离开的时间和停车费率,计算出应支付的停车费,并显示在屏幕上。同时将该车的所有信息保存到文件(f:\\f1.dat)里,以便以后查询,再将该车位还原成初始化状态。(4)按车牌号查询是否入库(Car*search(Car*head)):此项功能可以根据输入的车牌号找到该车,并得到其相关的所有信息,如:到达的日期、停在车场的位置以及到达的时间。如果没有找到,给出提示:车场里没有这辆车!(5)按车位查询相关信息(Car*find(Car*head)):进入此功能,根据输入的要查看的车位号,找到该车位,显示出其相关信息:该车位上的车的到达日期、该车位状态、车牌号、车到达的时间以及离开时间。如果该车位上没有停放车辆,则输出的信息是其初始化设置的相关信息。(6)查看车场的全部信息(voidprint(Car*head)):选择此项功能后,系统将自动在屏幕上显示出停车场里所有车位上的相关信息。(7)保存车场信息(voidprintf(Car*head)):选择此项功能后,系统将自动把停车场的全部信息保存到文件f2.dat里。(8)退出系统,结束停车场管理。7停车场管理系统主菜单主函数(包含一下所有函数)3.2函数参数说明3.2.1软件设计环境MicrosoftVisualC++6.03.2.2软件模块的划分该软件的主要组成模块和各模块之间的调用关系如图3-2-2:图3-2-2各函数模块之间的调用关系主要是主函数调用所有其它功能函数和菜单函数,并利用循环使各个功能函数运行完毕后都返回到主菜单。3.2.3采用的主要数据结构类型该程序采用的是结构体类型来处理停车场的所有基本信息,如下所述。包含的库函数有:#includeiostream#includestring#includeiomanip#includewindows.h#includeconio.h#includefstream包含的函数和参数有:intmain()//主函数Car*car_creat()//初始化停车场初始化停车场停车按车牌号查询是否入库取车按车位查询相关信息查看车场全部信息保存车场信息退出系统8Car*car_park(Car*head)//停车函数Car*car_leave(Car*head)//取车函数Car*search(Car*head)//根据车牌号查询函数Car*find(Car*head)//根据车位查询函数voidprint(Car*head)//查询车场的所有信息voidprintf(Car*head)//保存停车场信息Car*head//链表头指针charc//字符型变量intset,n//整型变量Car*p1,*p2,*p0,p//指针变量,指向链表intm=1//整型变量,表示找到的车位stringnum//字符串变量,代表取走车的车牌号intleave_hour,leave_min//整型变量,代表车离开的时间intA,B,price//整型变量,表示停车的总时间和每小时的费率floatfree//浮点型变量,表示停车费包含的结构体:structCar//声明结构体类型Car{stringnum;//车牌号stringstate;//车位状态intset;//停车车位intreach_hour;//到达时的小时点intreach_min;//到达时的分钟点intleave_hour;//离开时的小时点intleave_min;//离开时的分钟点stringreach_date[3];//停车日期Car*next;};9417退出26351输入日期、车牌号等While循环,所有车位做一样的初始化P1=p2=newCar初始化完毕,给出提示返回头指针2P1=head,p0=newCar3.3函数流程图一.主函数图3-3-1二.初始化车场图3-3-2三.停车函数进入管理系统界面103图3-3-3四.取车函数输出车牌号、日期、时间whlie循环,p1=p1-next找到空位?输出“车场已满,没有空位”提示几号位是空的,停车p1=p0return(head)定义变量,p1=head输入车牌号whlie循环,p1=p1-next114图3-3-4五.根据车牌号查询是否入库找到要取的车输出“车场里没有这辆车”输入离开时间和费率,计算停车费保存该车信息到文件f1.dat还原车位信息return(head)定义变量,p=head输入查询的车牌号,while循环{p=p-next}找到要查询的车1256图3-3-5六.根据车位查询相关信息图3-3-6七.查看车场全部信息图3-3-7输出“车场里没有这辆车”输出车位、到达日期和时间输入查询的车位,while循环{p=p-next}输出车位上的所有信息return(head)return(head)while(nMAX)p=p-next输出全部信息if(getch())return137八.保存停车场信息图3-3-8定义变量p=head打开文件f2.dat,while循环{保存全部信息p=p-next}关闭文件,return143.4编码及调试3.4.1软件中实现各功能的函数与程序代码一.一个包含停车全部信息的结构体structCar{stringnum;//车牌号stringstate;//车位状态intset;//停车车位intreach_hour;//到达时的小时点intreach_min;//到达时的分钟点intleave_hour;//离开时的小时点intleave_min;//离开时的分钟点stringreach_date[3];//停车日期Car*next;};二.初始化停车场函数Car*car_creat(){……………………………………while(nMAX){n=n+1;set=n;p1-reach_date[0]=****;//初始化日期p1-reach_date[1]=p1-reach_date[2]=**;p1-num=kong;//初始化车牌号num为kongp1-set=set;p1-state=nocar;//初始化车位状态为nocar(无车)p1-reach_hour=00;//初始化所有时间为00p1-reach_min=00;p1-leave_hour=00;15p1-leave_min=00;……………………………………………………………………………}p2-next=NULL;if(n==MAX)coutendl该车场已全部初始化!!!endl;//提示初始化完毕return(head);}三.停车函数Car*car_park(Car*head){……………………………………coutendl请输入车到达的日期(********):;for(i=0;i3;i++)cinp0-reach_date[i];coutendl请输入车牌号(例如:chuanM2266)
本文标题:停车场管理系统设计报告
链接地址:https://www.777doc.com/doc-4471022 .html