0

我无法从文本文件中获取信息并将其放入我创建的结构中,然后显示数组。到目前为止,我创建了结构并创建了带参数的函数,但它似乎不起作用。如果你能引导我朝着正确的方向前进,那就太好了。

#include <iostream>
#include <fstream>
#include <string>
using namespace std;

const int N=5;

struct RECORD
{
    char *Name;
    int Age;
    float Gpa;
};

void CopyRecords (string filename, int p[N]);
void Display (RECORD x[]);

int main()
{
    RECORD p[N];

    //Read data from this file into array p

    CopyRecords("data2.txt", p);

    //Display all records
    Display(p);

    //Terminate Program
    system ("pause");
    return 0;
}
void CopyRecords (string filename, int p[N])
{
    ifstream f;
    f.open(filename, ios::in);

    for(int i = 0; i <= N; ++i)
    {
        f >> p[i];
    }
}
void Display (RECORD x[])
{
    for (int i = 0; i < N; ++i)
        cout << x[i].Name << " " << x[i].Age << " " << x[i].Gpa << endl;
}

这是我的data2.txt

Martin Smith/ 22 2.2
Austin Clinton/ 18 3.1
Johnson/ 19 2.9
Maggie Jones/ 23 2.3
Tyler W Brown/ 16 3.4
4

1 回答 1

0

建议i < N而不是i <= Nfor(int i = 0; i <= N; ++i)

于 2013-10-14T04:21:49.080 回答