用c语言写个火车票订票系统并添加注释
时间: 2024-06-02 10:11:00 浏览: 88
/* 火车票订票系统 */
#include <stdio.h> //标准输入输出头文件
#include <stdlib.h> //标准库函数头文件
#define MAX_SEATS 100 //定义最大座位数
int seats[MAX_SEATS]; //定义座位数组
int num_seats = 0; //已预订座位数
int main() {
int choice, seat_num;
while (1) { //循环直到退出
printf("\n1. 预订座位\n");
printf("2. 取消预订\n");
printf("3. 显示已预订座位\n");
printf("4. 退出\n");
printf("你的选择:");
scanf("%d", &choice); //读取用户选择
switch (choice) { //根据用户选择执行不同操作
case 1: //预订座位
if (num_seats == MAX_SEATS) { //已满
printf("所有座位都已预订!\n");
} else { //未满
//查找第一个空座位
for (seat_num = 0; seat_num < MAX_SEATS; seat_num++) {
if (seats[seat_num] == 0) { //空座位
seats[seat_num] = 1; //标记为已预订
num_seats++; //已预订座位数加1
printf("你已成功预订 %d 号座位!\n", seat_num + 1);
break;
}
}
}
break;
case 2: //取消预订
printf("请输入要取消预订的座位号:");
scanf("%d", &seat_num); //读取用户输入的座位号
if (seat_num < 1 || seat_num > MAX_SEATS) { //座位号无效
printf("无效座位号!\n");
} else if (seats[seat_num - 1] == 0) { //座位未被预订
printf("该座位未被预订!\n");
} else { //取消预订
seats[seat_num - 1] = 0; //标记为未预订
num_seats--; //已预订座位数减1
printf("你已成功取消预订 %d 号座位!\n", seat_num);
}
break;
case 3: //显示已预订座位
printf("已预订座位:\n");
for (seat_num = 0; seat_num < MAX_SEATS; seat_num++) {
if (seats[seat_num] == 1) { //已预订
printf("%d ", seat_num + 1);
}
}
printf("\n");
break;
case 4: //退出
exit(0);
default: //无效选择
printf("无效选择!\n");
break;
}
}
return 0;
}
//注释:代码实现了一个简单的火车票订票系统,用户可以选择预订座位、取消预订、显示已预订座位或退出。使用数组存储座位信息,0 表示未预订,1 表示已预订。程序会提示用户输入选择,根据选择执行不同操作,直到用户选择退出为止。
阅读全文