1、 - 6 - 一、 一、 需求分析需求分析 1、 停车场提供停车功能,离开时计费 2、 能够有基本的信息,包括停车时间,车牌号 3、 当停车场满时,车辆进入等待区,停车场有空位时再进 4、 提供查询功能,停车场的车辆状况 - 7 - 二、 二、概要设计概要设计 (1 1) 、基本目标:) 、基本目标: 1、设停车场是一个 n 层,每层 m 个车位的立体停车场。停车场有两大种客户类型 1.普通客户,即来 车登记领取一次卡并停车,离开时计算停车费。2.预付卡客户,分年卡,月卡,充值卡,办卡时 登记客户信息,提供卡号,停车时只需提供卡号。 2、停车场有车位时,预付卡用户停车输入卡号,搜索此卡对应的信
2、息,确认无误,进入停车;普通 用户需要输入姓名和车牌号,办理一次卡,录入停车信息,进入停车。 3、当停车场满时,年卡用户可进入专用停车层,其他用户可选择进入候车道,此时预付卡用户需输 入卡号,一次卡用户要输入姓名和车牌号,以便进入停车场时录入信息。 4、当停车场内某辆车要离开时,年卡月卡用户计算时间,充值卡用户扣预付金额,如果超出,提示 补交并删除该卡信息,一次卡用户直接计算金额并删除此卡信息。车辆离开停车场后,如果等候 区有车,提示并自动进入停车场,录入信息。 5、提供停车场信息查看功能 1.场内的车位情况,2 已停车辆的信息。 6、提供充值卡办理业务功能,分为年卡(356 天) ,月卡(3
3、0 天) ,充值卡。 6、提供客户信息查看功能,包括所有年卡,月卡,充值卡用户的信息和一次卡用户信息 7、提供充值卡删除功能,根据卡号,删除此卡的全部信息 (2 2) 、程序数学模型) 、程序数学模型 停车场以 3 层,每层 3 个为列(程序中可自定义) 楼层 楼层 楼层 车位 1车位 2车位 3 车位 1车位 2车位 3 车位 1车位 2车位 3 年卡专用 - 8 - 数据结构定义如下 程序主要功能 楼层(cen) 车辆数 int n 楼层号 int louhao 指针 struct cen *next 车位 (wei) 有无 int n 车位号 int cheweihao 卡号 int k
4、ahao 车牌 char chepai9 办卡时间 time_t banli 指针 struct wei *next 年卡,月卡 (shijianka) 卡号 int kahao 车牌 char chepai9 姓名 char name10 办卡时间 time_t banli 指针 struct shijianka *next 充值卡 (chongzhika) 卡号 int kahao 车牌 char chepai9 姓名 char name10 充值金额 int money 指针 struct shijianka *next 一次卡 (yicika) 卡号 int kahao 车牌 char
5、 chepai9 姓名 char name10 办卡时间 time_t banli 指针 struct yicika *next - 9 - 停车流程图 1预付卡 2普通 是否存在 Y N 1 2 输入姓名车牌 分配一次卡号 车库未满 停车记录数据 Y N 1年卡 2等待 1预付卡 2普通 输入卡号 输入姓名车牌 进入等待 1 2 1 2 返回主界面 停车程序 出车流程图 离开停车场 输入卡号 是否存在 判断卡类型 计费系统计费 便道有车 1有卡 2普通 建立一次卡 寻找客户信息 停车记录数据 返回主机界面 N Y 2 1 N Y - 10 - 三、三、详细设计详细设计及及上机效果上机效果 各
6、子模块功能描述各子模块功能描述 给用户多个可选择的操作选项,用户可根据自己的需要进行选择,而后进行各自相应的功能模块 中去执行。具体的操作选项有: 1、停车场停车, 2、车辆离开, 3、查看停车场, 4、查看客户信息 5、办理客户停车卡, 6、预付卡删除 7、退出系统 下面详细设计按照以下流程进行 - 11 - 【数据定义数据定义】 1.【程序代码】 # define loucen 2 /楼层数 # define chewei 2 /每层停车位 # define M 1 /定义每分钟的价格 /设置输出颜色 0 黑色 1 蓝色 2 绿色 3 天蓝 4 红 5 紫 6 土黄 7 白 8 灰 循环,更亮 void setcolor(int fg/*/字色/*/,int bg/*/底色/*/) WORD wc; HANDLE h=GetStdH