写C语言程序7-2 停车场管理 分数 100
时间: 2024-05-01 21:19:10 浏览: 78
停车场管理C语言程序
以下是C语言程序7-2 停车场管理的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#define MAX_SIZE 10 // 停车场最大容量
typedef struct {
int num; // 车牌号码
int time; // 停车时间
} Car;
Car park[MAX_SIZE]; // 停车场数组
int top = 0; // 栈顶指针
void push(Car car) {
if (top >= MAX_SIZE) { // 停车场已满
printf("停车场已满,%d号车停车失败\n", car.num);
return;
}
printf("%d号车停入第%d个车位,停车时间为%d分钟\n", car.num, top + 1, car.time);
park[top++] = car; // 将车停入停车场,栈顶指针加一
}
void pop(int num, int time) {
int i, j;
for (i = 0; i < top; i++) {
if (park[i].num == num) { // 找到车辆
int fee = (time - park[i].time) * 1; // 计算停车费用
printf("%d号车离开停车场,停车时间为%d分钟,停车费用为%d元\n", num, time - park[i].time, fee);
for (j = i; j < top - 1; j++) {
park[j] = park[j + 1]; // 将后面的车辆前移
}
top--; // 栈顶指针减一
return;
}
}
printf("停车场中没有%d号车\n", num);
}
void display() {
int i;
printf("停车场共%d个车位,当前有%d辆车停放\n", MAX_SIZE, top);
printf("停车场状态:");
for (i = 0; i < top; i++) {
printf("%d号车 ", park[i].num);
}
printf("\n");
}
int main() {
int choice, num, time;
Car car;
while (1) {
printf("请输入操作编号(1-停车,2-离开,3-显示,0-退出):");
scanf("%d", &choice);
switch (choice) {
case 0:
exit(0);
case 1:
printf("请输入车牌号码和停车时间(单位:分钟):");
scanf("%d %d", &num, &time);
car.num = num;
car.time = time;
push(car);
break;
case 2:
printf("请输入车牌号码和离开时间(单位:分钟):");
scanf("%d %d", &num, &time);
pop(num, time);
break;
case 3:
display();
break;
default:
printf("输入有误,请重新输入\n");
break;
}
}
return 0;
}
```
程序实现了一个简单的停车场管理系统,支持车辆的停车、离开和显示当前停车场状态。具体实现细节见代码注释。
阅读全文