停车场管理系统设计

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

面向对象程序设计(C++课程大作业

设计题目:停车场管理系统设计

院系:计算机科学与信息工程学院专业班级:

学号姓名:

指导教师:

目录

一、成员分工 (1)

二、需求分析 (2)

三、总体设计 (3)

四、详细设计 (6)

五、系统测试 (17)

六、总结 (20)

七、参考文献 (21)

成员分工

我们小组成员共有三名,分别是,为了能按时圆满的完成这次

VC++课程设计,我们小组进行了详细的分工,以确保设计能按时完成。经过周密的考虑和详细的调查最终确定该停车场管理系统需要以下

几个功能模块:

(1)需求分析

(2)界面的设计

(3)添加功能

(4)显示功能

(5)查询功能

(6)编辑功能

(7)删除功能

(8)统计功能

(9)保存功能

(10)读取功能

经过小组成员的讨论,并根据个人的特长和具体爱好做如下具体分工

神 1 具体完成以下模块的设计与实现:

(1 )需求分析

(2 )界面的设计

(3 )添加功能

保存功能

(4 )

神 2 具体完成以下模块的设计与实现:

(1)显示功能

(2)查询功能

显示功能

(3)

神 3 主要具体完成以下模块的设计与实现:

(1)编辑功能

(2)删除功能

(3)读取功能

二需求分析

1. 问题描述

定义车辆类,属性有车牌号、颜色、车型(小汽车、小卡、中卡和大卡)、至U达的时间和离开的时间等信息和相关的对属性做操作的行为。定义一个管理类,完成对停车场的管理。停车场的具体

要求:设停车场是一个可停放n辆汽车的狭长通道,且只有一个大门可供汽车进出。汽车在停车场

内按车辆到达时间的先后顺序,依次由北向南排列(大门在最南端,最先到达的第一辆车停放在车场的最北端),若车场内已停满n辆汽车,则后来的汽车只能在门外的便道上等待,一旦有车开走,

则排在便道上的第一辆车即可开入;每辆停放在车场的车在它离开停车场时必须按它停留的时间长短交纳费用。

2. 基本要求

(1)添加功能:程序能够添加到达停车场的车辆信息,要求车辆的车牌号要唯一,

如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

(2)查询功能:可根据车牌号、车型等信息对已添加的停车场中的车辆信息进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;

(3)显

示功能:可显示当前系统中所有车辆的信息,每条记录占据一行。(4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意车牌号的唯一性。

(5 )删除功能:主要实现对已添加的车辆记录进行删除。如果当前系统中没有相应的人员记录,贝U提示“记录为空!”并返回操作。

(6)统计功能:能统计停车场中车辆的总数、按车型、按到达时间进行统计等。

(7 )保存功能:可将当前系统中各类人员记录和休假记录存入文件中,存入方式任意。

(8)读取功能:可将保存在文件中的信息读入到当前系统中,供用户进行使用。

3 .系统运行环境

(1)硬件环境。联想双核处理器, 2G内存,2G独立显卡,80G硬盘。

(2) 软件环境。Microsoft Visual C++6 ・0,WindosXP 系统。

三总体设计

(1)设计思想

本停车场n个车位,所以可以用数组表示,每辆车用一结构体表示,包括车牌号、颜色、车型、车位号、停车时间和停车标志位(标志是否停车)。当车入库时,将更改信息,当车出库时,

将信息写入car.dat中。再次进入该系统时,还用这个该数组,来接受car.dat数据的读入,便

于用户以后的操作,防止停车信息的流失。此外,由于需要显示所有汽车的停车信息,所以我们又加了一个顾客结构体,一个顾客链表,当存车时,新建用户节点,并使用头插法,插于链表(便于取车时查到用户,补充完整用户的信息),填写用户的相关信息(车牌号,颜色,车型,车位号,车入库时刻)。当出库时,查找相应节点,补充完整用户信息,包括(用户留言,停车时间总计,花费)。当退出系统后,将已出库的汽车的车主信息,写入历史文件list.dat中,便于管理员的查询。将还未取走车的车主的信息存入临时文件

temp.dat中,防止系统关闭后数据信息的丢失,车主取车时找不到车。同时,还要将成员信息写入临时文件user.dat;(2)数据结构

结构体Car,保存每个车位的停车信息。

结构体Gustomer,保存每个客户的信息。

结构体User,保存管理员信息。

数组Cars,保存整个停车状况。

数组user;

链表CustList,保存所有客户的信息,包括车已取走,和车未取走的。

(3)程序模块

(1)此停车场管理系统,主要分为以下若干模块:

首先定义用来模拟停车的数组,用来保存顾客信息的链表,保存管理员信息的结构以及全局变量,然后编写主函数,在此主函数中实现对其它各个模块的调用。在主函数中首先调用optio n()函数,出现欢迎用户使用的界面,然后提示用户进入此停车场管理系统后,再出现一个供用户选择的主界面(包括顾客界面和停车场管理员管理界面)。当用户选择顾客界面时,跳入到顾客界面,再次界面,用户可以选择存车、取车及返回主页面。在用户的选择过程中,程序又分别存车,取车函数调用以及退出程序这三个函数模块。其中,当存车时,调用了显示空闲车位状态的信息函数,并调用了保存car.dat的函数;当取车时,调用显示本次停车情况以及消费金额的函数,并调用了保存car.dat的函数。建立user.dat存放管理人

员的信息。最后,在主界面选择"退出",保存历史文件list.dat和临时文件temp.dat。当用

户选择车管系统时,调用管理员身份验证函数,从而跳入车管界面,然后相应的功能函数,实现查询所有停车信息。

(2)各模块之间的调用关系以及算法设计

下图是个模块之间的调用关系:

相关文档
最新文档