首页 > 编程语言 >C/C++停车场管理系统

C/C++停车场管理系统

时间:2022-12-17 12:22:05浏览次数:70  
标签:00 管理系统 Site C++ 停车场 车牌号 关闭 车位

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

相关文章

  • 图书管理系统、聚合函数、分组查询、F与Q查询
    目录图书管理系统1.表设计2.首页搭建、展示书籍的添加书籍编辑书籍删除聚合函数MaxMinSumCountAvg分组查询按照表分组按照字段分组F与Q查询F查询Q查询逗号默认是and|是or~......
  • c/c++ 2d矢量库
    CairoCairoisa2Dgraphicslibrarywithsupportformultipleoutputdevices.Currentlysupported outputtargets includetheXWindowSystem(viaboth Xlib......
  • C/C++数据结构课程设计[长春理工大学计算机科学技术学院2022秋季学期]
    C/C++数据结构课程设计[长春理工大学计算机科学技术学院2022秋季学期]长春理工大学计算机科学技术学院2022秋季学期数据结构课程设计一、目的:巩固数据结构与算法课内......
  • 链接--C++相关问题
    C++的一些语言特性使之必须和编译器链接器共同支持才能工作。重复代码消除全局构造和析构重复代码消除:C++编译器在很多时候会产生重复的代码,比如模板(Templates)、......
  • C++编译错误:ISO C++ forbids initialization of member `x'
     在C-Free中编译简单的C++代码,发现报以上错误:ISOC++forbidsinitializationofmember`x'(ISOC++禁止初始化成员变量‘x’),经查阅资料:c++类基于C语言的结构体(struc......
  • 整理的 英文 c/c++ 编程 wiki
    不断更新中。。。 allwikis ​​http://wiki.linuxquestions.org/wiki/C/C%2B%2B_Tutorials​​C++/C,国外一个开发者自己收集的站点​​http://www.shokhirev.com/nik......
  • c c++函数指针 Tutorials
    ​​http://www.newty.de/fpt/index.html​​Callbacks,functionpointersTheFunctionPointerTutorialsbyLarsHaendel:​​http://www.newty.de/fpt/index.html​......
  • C++的四种强制转换
    reinterpret_cast使用形式:reinterpret_cast<type-id>(expression)type-id必须是一个指针、引用、算术类型、函数指针或者成员指针。它可以用于类型之间进行强制转换(不可......
  • C/C++大数据行程码识别系统
    C/C++大数据行程码识别系统大数据行程码识别系统一、编程题(60分)大数据行程码是疫情防控的主要手段,请用C语言设计简单的大数据行程码识别系统具体功能描述:1、建......
  • k倍区间【第八届蓝桥杯省赛C++B组,第八届蓝桥杯省赛JAVAB组】
    k倍区间给定一个长度为\(N\)的数列,\(A1,A2,…AN\),如果其中一段连续的子序列\(Ai,Ai+1,…Aj\)之和是\(K\)的倍数,我们就称这个区间\([i,j]\)是\(K\)倍区间。你能......