抢火车票的代码(c语言)
时间: 2023-12-25 21:29:29 浏览: 94
抢火车票的代码可以使用C语言编写。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_TICKETS 10
typedef struct {
char name[20];
int ticketNumber;
} Passenger;
int main() {
FILE *fp;
Passenger passengers[MAX_TICKETS];
int numPassengers = 0;
// 打开文件
fp = fopen("tickets.txt", "r+");
if (fp == NULL) {
printf("无法打开文件\n");
exit(1);
}
// 读取已有的乘客信息
while (fread(&passengers[numPassengers], sizeof(Passenger), 1, fp)) {
numPassengers++;
}
// 判断是否还有余票
if (numPassengers >= MAX_TICKETS) {
printf("火车票已售罄\n");
fclose(fp);
exit(1);
}
// 输入新乘客信息
printf("请输入乘客姓名:");
scanf("%s", passengers[numPassengers].name);
passengers[numPassengers].ticketNumber = numPassengers + 1;
// 写入新乘客信息
fwrite(&passengers[numPassengers], sizeof(Passenger), 1, fp);
numPassengers++;
// 关闭文件
fclose(fp);
// 输出乘客信息
printf("成功抢到火车票!\n");
printf("乘客姓名:%s\n", passengers[numPassengers - 1].name);
printf("票号:%d\n", passengers[numPassengers - 1].ticketNumber);
return 0;
}
```
这段代码使用了一个结构体Passenger来存储乘客的姓名和票号。它首先打开一个名为"tickets.txt"的文件,然后读取已有的乘客信息。如果已有乘客数量达到最大票数(MAX_TICKETS),则提示火车票已售罄。否则,程序会要求输入新乘客的姓名,并为其分配一个票号。然后,将新乘客的信息写入文件,并输出成功抢到火车票的信息。
阅读全文