用c语言生成一个停车场管理系统代码
时间: 2024-09-20 09:10:50 浏览: 5
创建一个简单的停车场管理系统代码涉及到基本的数据结构、用户交互以及管理车位的功能。这里提供一个简化的示例,使用C语言结构体和控制台输入输出,假设只有停车位的状态(空闲或已占用):
```c
#include <stdio.h>
#include <stdlib.h>
typedef struct {
int id; // 车位ID
int status; // 状态,0表示空闲,1表示已占用
} ParkingSpot;
#define MAX_SPOTS 50 // 停车场最大车位数
ParkingSpot spots[MAX_SPOTS];
void display_status() {
for (int i = 0; i < MAX_SPOTS; i++) {
if (spots[i].status == 0)
printf("车位 %d - 空闲\n", i + 1);
else
printf("车位 %d - 已占用\n", i + 1);
}
}
void park(int spot_id) {
if (spot_id >= 0 && spot_id < MAX_SPOTS && spots[spot_id].status == 0) {
spots[spot_id].status = 1;
printf("车辆已停入车位%d。\n", spot_id + 1);
} else {
printf("车位 %d不可用。\n", spot_id + 1);
}
}
void leave(int spot_id) {
if (spot_id >= 0 && spot_id < MAX_SPOTS && spots[spot_id].status == 1) {
spots[spot_id].status = 0;
printf("车辆已离开车位%d。\n", spot_id + 1);
} else {
printf("车位 %d并未找到车辆。\n", spot_id + 1);
}
}
int main() {
int choice, spot_id;
while (1) {
printf("\n停车场状态:\n");
display_status();
printf("\n请选择操作(1.停车, 2.离开, 3.查看状态, 4.退出):\n");
scanf("%d", &choice);
switch (choice) {
case 1:
printf("请输入车位号: ");
scanf("%d", &spot_id);
park(spot_id - 1); // 减1因为数组索引从0开始
break;
case 2:
printf("请输入车位号: ");
scanf("%d", &spot_id);
leave(spot_id - 1); // 同上
break;
case 3:
display_status();
break;
case 4:
printf("感谢使用,再见!\n");
return 0;
default:
printf("无效选择,请重试。\n");
}
}
}