停车场管理系统c语言数组
时间: 2024-02-05 07:04:31 浏览: 85
停车场管理系统可以使用C语言数组来实现。以下是一个简单的停车场管理系统的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_CAR_NUM 100 // 停车场最大车位数
struct Car {
char plate[10]; // 车牌号
int time; // 进入停车场的时间
};
struct Car cars[MAX_CAR_NUM]; // 停车场车辆数组
int car_num = 0; // 当前停车场车辆数
// 进入停车场
void enter_park(char *plate, int time) {
if (car_num >= MAX_CAR_NUM) {
printf("停车场已满,无法停车\n");
return;
}
strcpy(cars[car_num].plate, plate);
cars[car_num].time = time;
car_num++;
printf("车辆 %s 进入停车场,停车位编号为 %d\n", plate, car_num);
}
// 离开停车场
void leave_park(char *plate, int time) {
int i;
for (i = 0; i < car_num; i++) {
if (strcmp(cars[i].plate, plate) == 0) {
int park_time = time - cars[i].time;
int fee = park_time * 2; // 停车费用为每小时2元
printf("车辆 %s 离开停车场,停车时间为 %d 小时,停车费用为 %d 元\n", plate, park_time, fee);
// 将最后一辆车移到当前位置,覆盖离开的车辆
car_num--;
if (i != car_num) {
cars[i] = cars[car_num];
}
return;
}
}
printf("未找到车牌号为 %s 的车辆\n", plate);
}
// 显示停车场车辆信息
void show_park() {
printf("当前停车场共有 %d 辆车:\n", car_num);
int i;
for (i = 0; i < car_num; i++) {
printf("停车位编号:%d,车牌号:%s,进入时间:%d\n", i + 1, cars[i].plate, cars[i].time);
}
}
int main() {
int choice;
char plate[10];
int time;
while (1) {
printf("请选择操作:\n");
printf("1. 进入停车场\n");
printf("2. 离开停车场\n");
printf("3. 显示停车场车辆信息\n");
printf("4. 退出程序\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入车牌号和进入时间:\n");
scanf("%s %d", plate, &time);
enter_park(plate, time);
break;
case 2:
printf("请输入车牌号和离开时间:\n");
scanf("%s %d", plate, &time);
leave_park(plate, time);
break;
case 3:
show_park();
break;
case 4:
return 0;
default:
printf("无效的操作,请重新输入\n");
break;
}
}
return 0;
}
```
阅读全文