c++程序帮助:结构体,数组,循环,输入文件,循环不工作

C++ Program help: Structs, arrays, loops, input files, loop not working?

本文关键字:循环 输入 文件 工作 数组 帮助 结构体 c++ 程序      更新时间:2023-10-16

我正试图编写一个程序,该程序将从文件读取的信息中声明一个包含5个结构体的数组。然后我使用一个循环来打印数组中每个元素的信息。

我写的代码似乎只从txt中读取一行。文件。任何提示或建议将不胜感激。

#include <istream>
#include <iostream>
#include <ostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;

int main ()
{
    struct Bankinfo{
        string name;
        int accountnum;
        float checking;
        float savings;
        string phone;
    } bankinfo[5];

    int i;
    i=0;
    cout<<"This is a test program"<<endl;
    char x;
    x=0;
    for (i=0;i<=6;i++)
    {
        ifstream infile;
        char testinfo [10001];
        infile.open("testinfo.txt");
        cin.get(testinfo,10001);
        cout<<testinfo<<endl;
        infile>>bankinfo [i].name>>bankinfo [i].accountnum>>bankinfo [i].checking>>bankinfo [i].savings>>bankinfo [i].phone;

        cout<<setw(10) << (bankinfo[i].name);
        cout<<setw(10) <<(bankinfo [i].accountnum);
        cout<<setw(10) <<(bankinfo [i].checking);
        cout<<setw(10) <<setprecision (2)<<fixed<<(bankinfo [i].savings);
        cout<<setw(15) <<(bankinfo [i].phone);
    }
    cout<<"                                             "<<endl;
    cout<<"Thanks for using the program"<<endl;
    return (0);
}

i的每次循环迭代中打开该文件。试着让infile.open(...)脱离循环。现在它将读取更多行。我也不明白cin.get(...)的目的