停车场管理系统软件工程课程设计报告_第1页
停车场管理系统软件工程课程设计报告_第2页
停车场管理系统软件工程课程设计报告_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.课程设计说明书 课程名称:软件工程课程设计题 目:停车场管理系统院 系: 理学院 专业班级:学 号:学生XX:指导教师: 2012 年 6月 8 日XX理工大学课程设计(论文)任务书 理学院 院系 信计 教研室学 号学生XX专业(班级)设计题目 停车场管理系统设计技术参数系统平台:Windows XP开发工具:Microsoft VC+6.0建模工具:Microsoft Visio 2007抓图工具:红蜻蜓抓图精灵设计要求利用软件工程的思想和方法完成停车场管理系统的分析、设计、实现等,主要实现的功能有:记录车辆信息,动态分配车位,停车费用结算,查看停车场车位的使用状况,退出系统等功能,解决车

2、辆停放难,乱收费等问题。工作量需求分析,概要设计,详细设计,编码设计以及调试。工作计划5月28日-5月30日 完成需求分析6月1日-6月3日 完成概要设计和详细设计6月4日-6月6日 完成程序设计6月7日 完成Word文档编写及窗口截图6月8日 提交程序和课程设计说明书参考资料1严蔚敏.数据结构M.:清华大学.20092齐志昌,谭庆平. 软件工程M.:高等教育,2006.43谭浩强.C程序设计(第三版)M:清华大学.20084温秀梅.VisualC+面向对象程序设计M:清华大学,20055王珊,萨师煊. 数据库系统概论M.:高等教育,2006.5指导教师签字教研室主任签字 2012年5月28日

3、 学生XX: 学号: 专业班级:课程设计题目: 停车场管理系统 指导教师评语:成绩:指导教师: 李涛 2012年6 月10 日XX理工大学课程设计(论文). v.目录第一章 引言11.1 系统制作背景11.2 系统制作要求1第二章 需求分析12.1任务概述12.2系统开发原因12.3系统开发任务1第三章 概要结构设计23.1基本处理流程23.2总体结构3第四章 详细结构设计44.1程序系统的结构44.2菜单函数44.3初始化模块设计4.4车辆进入函数74.5车辆离开函数8第五章 测试分析105.1主菜单函数105.2初始化操作115.3车辆进入115.4车辆离开并收费12第六章总结13参考文献

4、14第一章 引言1.1 系统制作背景说明:使用此软件系统的名称:停车场管理系统随着计算机技术的发展,在各行各业的应用越来越广泛,停车场管理由原来的人工管理进入计算机系统管理那是个必然趋势,计算机系统管理可以大大提高管理的效率和正确性。1.2 系统制作要求设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。停车站内如有某辆车要开走,在它之后进入停车场的车都必

5、须先退出停车站为它让路,待其开出停车场后,这些车辆再依原来的次序进场。每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。编制一程序模拟该停车场的管理。第二章 需求分析2.1任务概述根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。车辆离开要计时计费。另外,每天开始时,停车场要初始化。2.2系统开发原因随着经济的发展和人民生活水平的提高,买车成为人们的奋斗目标之一,当然已经有很多人买起了车。可是随着车辆的

6、增多,车辆的停泊问题也随之出现。这就使得各停车场需要更加先进、更加完善的车辆管理系统。2.3系统开发任务实现停车场的现代化管理,记录车辆信息,动态分配车位,停车费用结算,查看停车场车位的使用状况,退出系统等功能,解决车辆停放难,乱收费等问题。第三章 概要结构设计3.1基本处理流程车进入车场车辆到达以堆栈来模拟停车场和以堆栈里的数据元素我设计成汽车的车牌号初始化车站, 初始化让路的临时栈, 初始化通道车场未满,车进车场车场已满,车进便道判断车场是否已满车输入车子到达时间,车牌号未满判断车场内是否有车不做任何计算无点x有输入离开车辆的离开时间,进行停车费用的计算此车后面的车辆退出并进入临时栈车子离

7、开图 3-13.2总体结构停车场管理系统退出系统查看车位使用状况计算停车费用车辆离开信息车辆到达信息车牌号到达时间离开时间该车腾出的车位号无空余车位有空余车位每小时所需停车费用到达时间车牌号离开时间车牌号该车使用的车位号有车离开时新到来车辆停放新到来车辆在便道上等候新到来车辆停放图 3-2第四章详细结构设计4.1程序系统的结构开始显示一系列选项功能输入n,判断n是不是1-4"Y 根据n的值调用各功能模块函数结束main()函数体内包含了界面选则部分menu(),并单独抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。即main()函数写为如下:Nvoid m

8、ain()/*主函数*/menu();/*菜单函数*/ 图4-14.2 菜单函数void menu()int n,w;doputs("tt*MENU*nn");puts("ttt 1.初始化");puts("ttt 2.有车进入");puts("ttt 3.有车离开");puts("ttt 4.退出");puts("nntt*n");printf("Please choice your number(1-4): bb");scanf("%d&qu

9、ot;,&n);if(n<1|n>4) /*对选择的数字作判断*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break; /*初始化函数*/case 2:jinru();break; /*车辆进入函数*/case 3:likai();break; /*车辆离开函数*/case 4:exit(0); /*退出*/4.3初始化模块设计【需求分析】该模块是将每一天开始的停车场内和便道车位清零。首先建立场内场外的结构体,结构体内成员即车位的状态。用循环实现车位的致零即可。struct changnei/*场

10、内车道信息*/int neikong;chnN-1;struct changwai/*场外车道信息*/int waikong;chwM-1;N和M分别是停车场和便道的车位预设值,用宏定义。用户可根据实际情况改变。*define N 100/*预设停车场有100个车位*/*define M 100/*预设便道有100个出位*/ void chushi()/*初始化函数*/int i,j;for(i=0;i<=N-1;i+)chni.neikong=0;/*将场内车道设置为空*/for(j=0;j<=M-1;j+)chwi.waikong=0;/*将便道车道设置为空*/printf(&

11、quot;nntt已初始化nn");menu();函数出示化后将回到菜单界面。4.4车辆进入函数【需求分析】车辆到达后,要指定车辆的停车位置。用户根据菜单函数进入车辆进入模块。按照每辆车的到达次序给予车辆次序号,由0号开始。车辆信息也建立结构体。struct car/*车辆信息*/int car_num;/*车辆次序号*/int car_arr;/*车辆到达时间*/int car_lef;/*车辆离开时间*/int car_stay;/*车辆停放位置*/carCIXUHAO;其中,CIXUHAO是车辆次序号的宏定义:*define CIXUHAO 1000/*预设车辆次序号。不管车辆

12、到达时停在场内或便道,均依次设置一个次序号,由0开始*/给予车辆次序号之后,用循环判断停车场是否停满,再分别给予选择:场内是否已满已满,将车停在便道未满,指定停车场位置图4-2void jinru()/*车辆进入函数*/int i,a;int h=0;printf("nn请输入该车次序号(从0号开始):");scanf("%d",&a);for(i=0;i<N;i+)if(chni.neikong=0);/*无车标记0*/if(chni.neikong=1)/*有车标记1*/h=h+1;if(h=N)printf("停车场内已停满

13、,请停在便道上n");else cara.car_stay=h;chnh.neikong=1;printf("该车应该停在停车场内第道%d(从0道开始记)n",h);printf("请输入该车进停车场时刻(24小时整点计时):n");有车离开记录该车离开时间得到停车时间和费用便道上还有车吗.N返回主菜单Y令其进场输入次序号和进场时间scanf("%d",&cara.car_arr);便道上还有车吗.menu();程序执行完后回到菜单。 图4-34.5车辆离开函数【需求分析】若有一辆车要离开,则需要记录该车的离开时间,

14、以计算出该车在停车场内的停车时间和应该缴纳的费用。该车离开后,要判断便道上是否有车等待进入,如有,则将便道上第一辆车停放在停车场内最后的位置并记录好进场时间;若无,则返回菜单。void likai()/*车辆离开函数*/int i,k,choi,time;double fee;printf("请输入离开车辆次序号 ,并将此车之后的车先全部退出停车场!");scanf("%d",&i);printf("n请输入离开车辆的离开时刻(24小时整点计时):n");scanf("%d",&cari.car_l

15、ef);fee=D*(cari.car_lef-cari.car_arr);time=cari.car_lef-cari.car_arr;printf("次序号为%d的车停车时间%d小时,应收费%f元n",i,time,fee);printf("nnn请让场内退出的车再依次进场!nnn");printf("便道上现在有车吗.(请选择1或2)n1.有n2.没有n");/*因便道上可能没有车,因此要做选择*/scanf("%d",&choi);if(choi=2)menu();if(choi=1)printf(

16、"请让便道上的第一辆车进场n");printf("该车次序号为:n");scanf("%d",&k);printf("请输入该车进场时间:n");scanf("%d",&cark.car_arr);menu();D为预设停车场单位小时费用,用宏定义,便于以后修改。*define D 1.2/*预设车辆停车费为1.2元每小时*/第5章 测试分析5.1主菜单函数 图5-15.2初始化操作图5-25.3车辆进入有车进入 图5-3以上分别举例0,1,2三个车的进场情况5.4车辆离开并收费

17、图5-4若便道上没车,则退回到主菜单图5-5若便道上有车图5-6第六章 总结首先通过这次课程设计,加强了我的动手和思考解决问题的能力,学到了很多书本上学不到的知识,同时也巩固了对课本的知识,对我将来也是有很大的帮助。刚开始拿到这个题目是信心满满的,但是在做的过程中还是遇到了很多的问题。在制作过程中心理虽然有很多创意和构思,但是实际操作却存在很大的困难。制作界面的时候学到的最主要的耐心,有恒心一切都会变得迎刃而解。通过该实例的实习,要求大家进一步理解和运用结构化程序设计的思想和方法,初步掌握开发一个小型实用系统的基本方法,学会调试较长的程序,学会利用流程图表示算法,进一步掌握和提高利用C语言进行

18、程序设计的能力。参考文献1齐志昌,谭庆平. 软件工程M.:高等教育,2006.42王珊,萨师煊. 数据库系统概论M.:高等教育,2006.53王珊,萨师煊. 数据库设计理论与实践J.计算机应用与软件,1984.24X浩,陈曜东.c*编程实例与技巧M. :清华大学,2002.1 5何鹏飞,王征.C*实用编程百例M.:清华大学,2004.37原程序代码*include<stdio.h>*include<stdlib.h>*include<string.h>*define N 100/*预设停车场有100个车位*/*define M 100/*预设便道有100个出

19、位*/*define D 1.2/*预设车辆停车费为1.2元每小时*/*define CIXUHAO 1000/*预设车辆次序号。不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开始*/void menu();void chushi();void jinru();void likai();struct car/*车辆信息*/int car_num;/*车辆次序号*/int car_arr;/*车辆到达时间*/int car_lef;/*车辆离开时间*/int car_stay;/*车辆停放位置*/carCIXUHAO;struct changnei/*场内车道信息*/int neiko

20、ng;chnN-1;struct changwai/*场外车道信息*/int waikong;chwM-1;void main()/*主函数*/menu();/*菜单函数*/void menu()int n,w;doputs("tt*MENU*nn");puts("ttt 1.初始化");puts("ttt 2.有车进入");puts("ttt 3.有车离开");puts("ttt 4.退出");puts("nntt*n");printf("Please choic

21、e your number(1-4): bb");scanf("%d",&n);if(n<1|n>4)/*对选择的数字作判断*/w=1;getchar();else w=0;while(w=1);switch(n)case 1:chushi();break;/*初始化函数*/case 2:jinru();break;/*车辆进入函数*/case 3:likai();break;/*车辆离开函数*/case 4:exit(0);/*退出*/void chushi()/*初始化函数*/int i,j;for(i=0;i<=N-1;i+)chn

22、i.neikong=0;/*将场内车道设置为空*/for(j=0;j<=M-1;j+)chwi.waikong=0;/*将便道车道设置为空*/printf("nntt已初始化nn");menu();void jinru()/*车辆进入函数*/int i,a;int h=0;printf("nn请输入该车次序号(从0号开始):");scanf("%d",&a);for(i=0;i<N;i+)if(chni.neikong=0);/*无车标记0*/if(chni.neikong=1)/*有车标记1*/h=h+1;if(h=N)printf("停车场内已停满,请停在便道上n");else cara.car_stay=h;chnh.neikong=1;printf("该车应该停在停车场内第道%d(从0道开始记)n",h);printf("请输入该车进停车

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论