2016-11-19 121 views
0

我有一个这样的功能,所有我想要的是打破一个循环,如果pa [i] .fullname是一个空行。尝试了一些方法,仍然没有找到解决办法。 我正在与斯蒂芬普拉塔书一起,这是练习之一。 会很高兴的一些提示。输入空白行时打破循环

int getinfo(student pa[], int n) 
{ 
    int i = 0; 
    for (i = 0; i < n; i++) { 
     cout << "Imie: " << endl; 
     cin >> pa[i].fullname; 
     cout << "Hobby: "; 
     cin >> pa[i].hobby; 
     cout << "Ooplevel: "; 
     cin >> pa[i].ooplevel; 
    [enter link description here][1] 
     } 
    return i; 
} 
+3

'如果(PA [I] .fullname.empty()){打破; }'假设fullname是std :: string。 –

+0

http://hastebin.com/jufukofaji.cpp 这里是代码的其余部分,无法找出在这个网站上的代码格式,但抱歉,我这样做这 – Kossano

+0

@TrevorHickey嗯......即使这是一个'std :: string'不能用作一般的解决方案。提取操作符将跳过包括换行符在内的空格,直到流失败或实际读取非空字符串。我认为一个合适的解决方案使用'std :: getline'而不是流提取,当然,OP实际上应该是检查所有的IO操作。 – WhozCraig

回答

0
if(pa[i] == null) 
    break; 

你可以试试这个..

+0

请在回答中添加其他信息,以解释为什么这会有所帮助。 – Tony