为什么第一行运行不了

#include

#include

#include

using namespace std;

struct Train {

string trainNumber;

string departureTime;

string departureStation;

string arrivalTime;

string arrivalStation;

};

void addTrainInfo() {

Train train;

cout << "请输入车次: ";

cin >> train.trainNumber;

cout << "请输入发车时间: ";

cin >> train.departureTime;

cout << "请输入始发站: ";

cin >> train.departureStation;

cout << "请输入到达时间: ";

cin >> train.arrivalTime;

cout << "请输入终点站: ";

cin >> train.arrivalStation;



ofstream outputFile("train_info.txt", ios::app);

if (outputFile.is_open()) {

    outputFile << train.trainNumber << " "

               << train.departureTime << " "

               << train.departureStation << " "

               << train.arrivalTime << " "

               << train.arrivalStation << " ";     

outputFile.close();

    cout << "车次信息已成功添加!" << endl;

} else {
  cout << "无法打开文件!" << endl;

    }

}

void displayMenu() {

int choice;

while (true) {

    cout << "请选择功能:" << endl;

    cout << "1. 添加车次信息" << endl;

    cout << "2. 查询车次信息" << endl;

    cout << "0. 退出" << endl;

    cout << "输入数字选择功能: ";

    cin >> choice;



    switch (choice) {

        case 1:

            addTrainInfo();

            break;

        case 2:

            // TODO: 实现查询功能

            break;

        case 0:

            cout << "程序已退出。" << endl;

            return;

        default:

            cout << "无效的选择,请重试!" << endl;

            break;

    }

}

}

int main() {

displayMenu();

return 0;

}

您提供的代码是 C++ 代码而不是 C 语言代码。C++ 代码中包含了 using namespace std; 和 string 类型,这些是 C++ 的特性。

如果您想编写 C 语言代码,请使用 C 语言的语法和标准库,而不是 C++ 的语法和标准库。以下是您提供的代码的等效的 C 语言版本:

c

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

struct Train {
    char trainNumber[100];
    char departureTime[100];
    char departureStation[100];
    char arrivalTime[100];
    char arrivalStation[100];
};

void addTrainInfo() {
    struct Train train;
    printf("请输入车次: ");
    scanf("%s", train.trainNumber);
    printf("请输入发车时间: ");
    scanf("%s", train.departureTime);
    printf("请输入始发站: ");
    scanf("%s", train.departureStation);
    printf("请输入到达时间: ");
    scanf("%s", train.arrivalTime);
    printf("请输入终点站: ");
    scanf("%s", train.arrivalStation);

    FILE *outputFile = fopen("train_info.txt", "a");
    if (outputFile != NULL) {
        fprintf(outputFile, "%s %s %s %s %s ",
                train.trainNumber,
                train.departureTime,
                train.departureStation,
                train.arrivalTime,
                train.arrivalStation);
        fclose(outputFile);
        printf("车次信息已成功添加!\n");
    } else {
        printf("无法打开文件!\n");
    }
}

void displayMenu() {
    int choice;
    while (1) {
        printf("请选择功能:\n");
        printf("1. 添加车次信息\n");
        printf("2. 查询车次信息\n");
        printf("0. 退出\n");
        printf("输入数字选择功能: ");
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                addTrainInfo();
                break;
            case 2:
                // TODO: 实现查询功能
                break;
            case 0:
                printf("程序已退出。\n");
                return;
            default:
                printf("无效的选择,请重试!\n");
                break;
        }
    }
}

int main() {
    displayMenu();
    return 0;
}

请注意,上述代码已经进行了必要的更改以符合 C 语言的语法和标准库函数。如果您想使用 C++ 语言编写代码,请将代码保存为 .cpp 文件并使用 C++ 编译器进行编译。

贴代码的话建议使用代码块,不然格式会出现错误
你的前三行写了空的include? 如果不需要的话就把它删掉