停车场管理系统软件工程课程设计范本模板.docx

上传人:b****6 文档编号:5891235 上传时间:2023-01-01 格式:DOCX 页数:21 大小:208.38KB
下载 相关 举报
停车场管理系统软件工程课程设计范本模板.docx_第1页
第1页 / 共21页
停车场管理系统软件工程课程设计范本模板.docx_第2页
第2页 / 共21页
停车场管理系统软件工程课程设计范本模板.docx_第3页
第3页 / 共21页
停车场管理系统软件工程课程设计范本模板.docx_第4页
第4页 / 共21页
停车场管理系统软件工程课程设计范本模板.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

停车场管理系统软件工程课程设计范本模板.docx

《停车场管理系统软件工程课程设计范本模板.docx》由会员分享,可在线阅读,更多相关《停车场管理系统软件工程课程设计范本模板.docx(21页珍藏版)》请在冰豆网上搜索。

停车场管理系统软件工程课程设计范本模板.docx

停车场管理系统软件工程课程设计范本模板

课程设计说明书

 

课程名称:

_软件工程课程设计___

题目:

_停车场管理系统____

 

院系:

理学院

专业班级:

学号:

学生姓名:

指导教师:

__

2012年6月8日

 

安徽理工大学课程设计(论文)任务书

理学院院系信计教研室

学号

学生姓名

专业(班级)

设计题目

停车场管理系统

系统平台:

WindowsXP

开发工具:

MicrosoftVC++6。

0

建模工具:

MicrosoftVisio2007

抓图工具:

红蜻蜓抓图精灵

利用软件工程的思想和方法完成停车场管理系统的分析、设计、实现等,主要实现的功能有:

记录车辆信息,动态分配车位,停车费用结算,查看停车场车位的使用状况,退出系统等功能,解决车辆停放难,乱收费等问题.

需求分析,概要设计,详细设计,编码设计以及调试。

5月28日—-5月30日完成需求分析

6月1日—-6月3日完成概要设计和详细设计

6月4日—-6月6日完成程序设计

6月7日完成Word文档编写及窗口截图

6月8日提交程序和课程设计说明书

[1]严蔚敏.数据结构[M]。

北京:

清华大学出版社.2009

[2]齐志昌,谭庆平。

软件工程[M].北京:

高等教育出版社,2006。

4

[3]谭浩强.C程序设计(第三版)[M]北京:

清华大学出版社.2008

[4]温秀梅。

VisualC++面向对象程序设计[M]北京:

清华大学出版社,2005

[5]王珊,萨师煊。

数据库系统概论[M].北京:

高等教育出版社,2006。

5

指导教师签字

教研室主任签字

2012年5月28日

学生姓名:

学号:

专业班级:

课程设计题目:

停车场管理系统

指导教师评语:

 

成绩:

指导教师:

李涛

2012年6月10日

安徽理工大学课程设计(论文)

 

第一章引言1

1.1系统制作背景1

1.2系统制作要求1

第二章需求分析1

2.1任务概述1

2。

2系统开发原因1

2。

3系统开发任务1

第三章概要结构设计2

3。

1基本处理流程2

3.2总体结构3

4。

2菜单函数4

4.3初始化模块设计

4。

5车辆离开函数8

第五章测试分析10

5。

1主菜单函数10

5.2初始化操作11

参考文献14

 

第一章引言

1.1系统制作背景

说明:

使用此软件系统的名称:

停车场管理系统

随着计算机技术的发展,在各行各业的应用越来越广泛,停车场管理由原来的人工管理进入计算机系统管理那是个必然趋势,计算机系统管理可以大大提高管理的效率和正确性。

1.2系统制作要求

设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。

车辆按到达停车场时间的早晚依次从停车场最里面向大门口处停放(最先到达的第一辆车放在停车场的最里面)。

如果停车场已放满n辆车,则后来的车辆只能在停车场大门外的便道上等待,一旦停车场内有车开走,则排在便道上的第一辆车就进入停车站。

停车站内如有某辆车要开走,在它之后进入停车场的车都必须先退出停车站为它让路,待其开出停车场后,这些车辆再依原来的次序进场。

每辆车在离开停车场时,都应根据它在停车场内停留的时间长短交费。

如果停留在便道上的车未进停车场就要离去,允许其离去,不收停车费,并且仍然保持在便道上等待的车辆的次序。

编制一程序模拟该停车场的管理.

第二章需求分析

2.1任务概述

根据题目要求,因为停车场是一个单条的序列,可以用结构体实现;在程序中,需要知道每辆来车的具体停放位置,应提供提示、查找、标记工作。

车辆离开要计时计费。

另外,每天开始时,停车场要初始化。

2.2系统开发原因

随着经济的发展和人民生活水平的提高,买车成为人们的奋斗目标之一,当然已经有很多人买起了车。

可是随着车辆的增多,车辆的停泊问题也随之出现。

这就使得各停车场需要更加先进、更加完善的车辆管理系统。

2.3系统开发任务

实现停车场的现代化管理,记录车辆信息,动态分配车位,停车费用结算,查看停车场车位的使用状况,退出系统等功能,解决车辆停放难,乱收费等问题.

第三章概要结构设计

3.1基本处理流程

车进入车场

不做任何计算

无点x

输入离开车辆的离开时间,进行停车费用的计算

 

此车后面的车辆退出并进入临时栈

 

车子离开

图3—1

3.2总体结构

 

 

 

图3-2

 

第四章详细结构设计

4。

1程序系统的结构

main()函数体内包含了界面选则部分menu(),并单独抽出来作为一个独立函数,目的在于系统执行每部分模块后能够方便返回到系统界面。

即main()函数写为

如下:

 

voidmain()/*主函数*/

{

menu();/*菜单函数*/

}

 

图4-1

4.2菜单函数

voidmenu()

intn,w;

do

{

puts(”\t\t**************MENU**************\n\n");

puts(”\t\t\t1。

初始化");

puts(”\t\t\t2。

有车进入");

puts("\t\t\t3.有车离开");

puts("\t\t\t4.退出”);

puts("\n\n\t\t*********************************\n”);

printf("Pleasechoiceyournumber(1-4):

[]\b\b”);

scanf("%d",&n);

if(n〈1||n〉4)/*对选择的数字作判断*/

{

w=1;

getchar();

elsew=0;

}while(w==1);

switch(n)

{

case1:

chushi();break;/*初始化函数*/

case2:

jinru();break;/*车辆进入函数*/

case3:

likai();break;/*车辆离开函数*/

case4:

exit(0);/*退出*/

}

4。

3初始化模块设计

【需求分析】

该模块是将每一天开始的停车场内和便道车位清零。

首先建立场内场外的结构体,结构体内成员即车位的状态。

用循环实现车位的致零即可。

 

structchangnei/*场内车道信息*/

{

intneikong;

}chn[N-1];

structchangwai/*场外车道信息*/

{

intwaikong;

}chw[M—1];

N和M分别是停车场和便道的车位预设值,用宏定义。

用户可根据实际情况改变。

#defineN100/*预设停车场有100个车位*/

#defineM100/*预设便道有100个出位*/

voidchushi()/*初始化函数*/

inti,j;

for(i=0;i<=N-1;i++)

chn[i].neikong=0;/*将场内车道设置为空*/

for(j=0;j<=M-1;j++)

chw[i]。

waikong=0;/*将便道车道设置为空*/

printf("\n\n\t\t已初始化\n\n");

menu();

}

函数出示化后将回到菜单界面。

4。

4车辆进入函数

【需求分析】

车辆到达后,要指定车辆的停车位置。

用户根据菜单函数进入车辆进入模块.按照每辆车的到达次序给予车辆次序号,由0号开始.车辆信息也建立结构体。

structcar/*车辆信息*/

intcar_num;/*车辆次序号*/

intcar_arr;/*车辆到达时间*/

intcar_lef;/*车辆离开时间*/

intcar_stay;/*车辆停放位置*/

}car[CIXUHAO];

其中,CIXUHAO是车辆次序号的宏定义:

#defineCIXUHAO1000/*预设车辆次序号。

不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开始*/

给予车辆次序号之后,用循环判断停车场是否停满,再分别给予选择:

 

图4-2

voidjinru()/*车辆进入函数*/

inti,a;

inth=0;

printf("\n\n请输入该车次序号(从0号开始):

”);

scanf("%d”,&a);

for(i=0;i〈N;i++)

if(chn[i]。

neikong==0);/*无车标记0*/

if(chn[i]。

neikong==1)/*有车标记1*/

h=h+1;

if(h==N)

printf(”停车场内已停满,请停在便道上\n”);

else

{

car[a]。

car_stay=h;

chn[h].neikong=1;

printf("该车应该停在停车场内第道%d(从0道开始记)\n",h);

printf("请输入该车进停车场时刻(24小时整点计时):

\n”);

scanf(”%d",&car[a].car_arr);

便道上还有车吗?

menu();

程序执行完后回到菜单.

图4—3

4。

5车辆离开函数

【需求分析】

若有一辆车要离开,则需要记录该车的离开时间,以计算出该车在停车场内的停车时间和应该缴纳的费用。

该车离开后,要判断便道上是否有车等待进入,如有,则将便道上第一辆车停放在停车场内最后的位置并记录好进场时间;若无,则返回菜单.

voidlikai()/*车辆离开函数*/

{inti,k,choi,time;

doublefee;

printf("请输入离开车辆次序号[],并将此车之后的车先全部退出停车场!

");

scanf("%d”,&i);

printf(”\n请输入离开车辆的离开时刻(24小时整点计时):

\n");

scanf(”%d",&car[i]。

car_lef);

fee=D*(car[i]。

car_lef-car[i]。

car_arr);

time=car[i]。

car_lef—car[i]。

car_arr;

printf(”次序号为%d的车停车时间%d小时,应收费%f元\n",i,time,fee);

printf(”\n\n\n请让场内退出的车再依次进场!

\n\n\n”);

printf("便道上现在有车吗?

(请选择1或2)\n1.有\n2.没有\n”);/*因便道上可能没有车,因此要做选择*/

scanf(”%d",&choi);

if(choi==2)

{

menu();

if(choi==1)

printf(”请让便道上的第一辆车进场\n”);

printf("该车次序号为:

\n");

scanf("%d”,&k);

printf("请输入该车进场时间:

\n”);

scanf(”%d”,&car[k]。

car_arr);

menu();

D为预设停车场单位小时费用,用宏定义,便于以后修改。

#defineD1。

2/*预设车辆停车费为1.2元每小时*/

第五章测试分析

5.1主菜单函数

图5-1

5.2初始化操作

图5-2

5.3车辆进入

有车进入

图5—3

以上分别举例0,1,2三个车的进场情况

5.4车辆离开并收费

图5-4

若便道上没车,则退回到主菜单

图5-5

若便道上有车

图5-6

 

第六章总结

首先通过这次课程设计,加强了我的动手和思考解决问题的能力,学到了很多书本上学不到的知识,同时也巩固了对课本的知识,对我将来也是有很大的帮助.刚开始拿到这个题目是信心满满的,但是在做的过程中还是遇到了很多的问题。

在制作过程中心理虽然有很多创意和构思,但是实际操作却存在很大的困难。

制作界面的时候学到的最主要的耐心,有恒心一切都会变得迎刃而解.通过该实例的实习,要求大家进一步理解和运用结构化程序设计的思想和方法,初步掌握开发一个小型实用系统的基本方法,学会调试较长的程序,学会利用流程图表示算法,进一步掌握和提高利用C语言进行程序设计的能力。

 

参考文献

 

[1]齐志昌,谭庆平.软件工程[M].北京:

高等教育出版社,2006.4

[2]王珊,萨师煊.数据库系统概论[M].北京:

高等教育出版社,2006.5

[3]王珊,萨师煊.数据库设计理论与实践[J]。

计算机应用与软件,1984.2

[4]刘浩,陈曜东。

c#编程实例与技巧[M].北京:

清华大学出版社,2002.1

[5]何鹏飞,王征。

C#实用编程百例[M].北京:

清华大学出版社,2004。

3

 

7原程序代码

#include

#include〈stdlib。

h>

#include

#defineN100/*预设停车场有100个车位*/

#defineM100/*预设便道有100个出位*/

#defineD1.2/*预设车辆停车费为1。

2元每小时*/

#defineCIXUHAO1000/*预设车辆次序号.不管车辆到达时停在场内或便道,均依次设置一个次序号,由0开始*/

voidmenu();

voidchushi();

voidjinru();

voidlikai();

structcar/*车辆信息*/

intcar_num;/*车辆次序号*/

intcar_arr;/*车辆到达时间*/

intcar_lef;/*车辆离开时间*/

intcar_stay;/*车辆停放位置*/

}car[CIXUHAO];

structchangnei/*场内车道信息*/

{

intneikong;

}chn[N-1];

structchangwai/*场外车道信息*/

intwaikong;

}chw[M—1];

voidmain()/*主函数*/

menu();/*菜单函数*/

voidmenu()

{

intn,w;

do

{

puts(”\t\t**************MENU**************\n\n");

puts("\t\t\t1。

初始化");

puts("\t\t\t2.有车进入");

puts(”\t\t\t3。

有车离开”);

puts(”\t\t\t4.退出");

puts(”\n\n\t\t*********************************\n”);

printf("Pleasechoiceyournumber(1-4):

[]\b\b");

scanf(”%d",&n);

if(n〈1||n>4)/*对选择的数字作判断*/

w=1;

getchar();

elsew=0;

}while(w==1);

switch(n)

case1:

chushi();break;/*初始化函数*/

case2:

jinru();break;/*车辆进入函数*/

case3:

likai();break;/*车辆离开函数*/

case4:

exit(0);/*退出*/

voidchushi()/*初始化函数*/

inti,j;

for(i=0;i<=N—1;i++)

chn[i].neikong=0;/*将场内车道设置为空*/

for(j=0;j〈=M-1;j++)

chw[i]。

waikong=0;/*将便道车道设置为空*/

printf(”\n\n\t\t已初始化\n\n");

menu();

voidjinru()/*车辆进入函数*/

{

inti,a;

inth=0;

printf("\n\n请输入该车次序号(从0号开始):

");

scanf("%d”,&a);

for(i=0;i

{

if(chn[i].neikong==0);/*无车标记0*/

if(chn[i]。

neikong==1)/*有车标记1*/

h=h+1;

if(h==N)

printf("停车场内已停满,请停在便道上\n");

else

{

car[a]。

car_stay=h;

chn[h].neikong=1;

printf("该车应该停在停车场内第道%d(从0道开始记)\n”,h);

printf("请输入该车进停车场时刻(24小时整点计时):

\n”);

scanf("%d”,&car[a]。

car_arr);

}

menu();

}

voidlikai()/*车辆离开函数*/

{inti,k,choi,time;

doublefee;

printf(”请输入离开车辆次序号[],并将此车之后的车先全部退出停车场!

”);

scanf("%d”,&i);

printf(”\n请输入离开车辆的离开时刻(24小时整点计时):

\n");

scanf(”%d",&car[i].car_lef);

fee=D*(car[i]。

car_lef-car[i]。

car_arr);

time=car[i].car_lef-car[i]。

car_arr;

printf("次序号为%d的车停车时间%d小时,应收费%f元\n”,i,time,fee);

printf(”\n\n\n请让场内退出的车再依次进场!

\n\n\n");

printf("便道上现在有车吗?

(请选择1或2)\n1.有\n2。

没有\n");/*因便道上可能没有车,因此要做选择*/

scanf("%d”,&choi);

if(choi==2)

{

menu();

}

if(choi==1)

{

printf("请让便道上的第一辆车进场\n”);

printf(”该车次序号为:

\n”);

scanf("%d”,&k);

printf(”请输入该车进场时间:

\n");

scanf(”%d",&car[k]。

car_arr);

menu();

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 育儿理论经验

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1