C++ 我能';我不想绕圈子

C++ 我能';我不想绕圈子,c++,C++,在这段代码中,我试图逐行从文件中获取数据 文件 2 莫哈布 20 男性 mohab@server.com 开罗 代码 bool Employee::login(int-ID,字符串用户名) { int line1,i; 弦线; fstream-myfile; myfile.open(“Employee.txt”); 如果(myfile.is_open()) { 而(myfile>>第1行) { if(ID==line1) { 对于(i=1;i>line; 如果(行==用户名) { 返回true;

在这段代码中,我试图逐行从文件中获取数据

文件 2
莫哈布
20
男性
mohab@server.com
开罗

代码
bool Employee::login(int-ID,字符串用户名)
{
int line1,i;
弦线;
fstream-myfile;
myfile.open(“Employee.txt”);
如果(myfile.is_open())
{
而(myfile>>第1行)
{
if(ID==line1)
{
对于(i=1;i>line;
如果(行==用户名)
{
返回true;
打破
}
其他的
继续;
}
}
其他的
继续;
}
myfile.close();
}
其他的
{ 
返回false;
}
}
现在我设法从第二行循环到最后一行。如果文件内容有超过1个人的信息,那么循环应该放在哪里以及如何使
line1
变量检查文件中的所有行


提前感谢:)

您的输入格式正确吗?如果是这样,只需在以下条件下执行所有操作:
while(file>>id>>name>>age>>sex…
。然后循环的下一次迭代将拾取下一个员工如果我这样做了,那么如果添加更多信息会怎么样,(MyField:Id> > Adv>年龄>性别> > NeDATAs> NeDATA……)如果这不是一个类,你应该把这个信息放在XML格式中,并使用一个丰富的C++ XML解析器来处理所有这些,然后返回对象,这就是雇员对象应该如何设计的,但我不知道你想把这个项目做多远……基本上,总有更好的方法,但可能不值得为正确的方式付出额外的成本
bool Employee::login(int ID, string username)
{
    int line1, i;
    string line;
    fstream myfile;
    myfile.open("Employee.txt");
    if (myfile.is_open())
    {
        while (myfile >> line1)
        {
            if (ID == line1)
            {
                for (i = 1; i <= 5; i++)
                {
                    myfile >> line;
                    if (line == username)
                    {
                        return true;
                        break;
                    }
                    else
                        continue;
                }
            }
            else    
                continue;
        }
        myfile.close();
    }
    else 
    { 
        return false;
    }
}