C/C++停车场管理系统
6.11 停车场管理系统
[问题详述]
停车场有 30个车位。每天早上 6:00 开放,晚上 12:00 关闭,关闭后禁止车辆出入。停车每小时收费 PH(PH=6)元,每天停车场关闭前未开走的车,过夜费按照每辆车 PN(PN=100)元计费,次日继续从早上 6:00 开始计时收费,实际收费金额按照元为单位四舍五人例如,某车于8日 20:06 开进停车场,在9日11;02 离开,因其在停车场驻留一夜,应当收费154元[6.0(3+54.0/60)元+100元+6.0(5+2.0/60)元]。
[程序要求]
主菜单上显示当前停车场的空车位数。如果当前空车位数是0,则显示提示:车位已满不允许停车。主菜单的选项有:(1)停车。(2)取车。(3)查空位。(4)关闭停车场。
执行“停车”操作时,输人车牌号、时间(几点几分),显示指定停车的车位号,车辆驶入。
执行“取车”操作时,输入车牌号、时间,计算并显示应交的停车费,销位,放行车辆。
执行“查空位”操作时,查询空闲的车位号。
执行“关闭停车场”操作时,对仍在停车场的车辆,计算其当天产生的应交费用,设置其次日计时起点时间为 6:00,再按照车位保存数据到文本文件。
[提示]
停车场关闭后,程序要结束运行,需要将驻留过夜车辆的信息用文件保存,假设文件名为 Fpark,txt。可以定义一个结构体类型,用来表示停车位的数据,定义该类型的数组,用来存储停车场所有车位信息。
例如:
typedef struct
{
int hour; //用24 小时制表示的几点钟
int minute; //分钟
}HM;
typedef struct
{
int kp; //状态:占用=1,空闲=0
char code[10]; //车牌号
HM time; //进场时间
int sum; //应交费用
}Site[30];
停车场每天开门营业时,将车位的数据从文件 Fpark.txt 读人内存变量。
某车位(下标为i的车位)停有车辆时,Site[i].kp=1。
取车时,根据车牌号找到车位,根据进场和取车时间,计算应收的停车费。完成收费后.放行车辆,再将相应车位设置为空闲——Site[i].kp=0;车牌号设为号码全 0;进场时间的时、分的数值均为-1;Site[i].sum=0;
关闭停车场时,查找所有 Site[i].kp 值为 1的车位,计算并修改应交费用 Site[i],sum;设置进场时间的时、分的数值分别为 6,0,表示早上 6:00;最后将处理后的所有数据重写到文件 Fpark.txt。
停车场开张(首次运行停车场管理系统)时,停车场内所有车位都是空闲的,文件Fpark.txt 中对应 30 个位的数据全都是相同的,应该是:0000000 -1 -0 0。
源码
https://pan.baidu.com/s/1pq1Nwwo0hlc_J84F93HM4A?pwd=1111
标签:00,管理系统,Site,C++,停车场,车牌号,关闭,车位 From: https://www.cnblogs.com/codewriter/p/16988822.html