2016-11-19 9 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

'если (па [я] .fullname.empty()) {перерыва; } 'Предполагая полное имя std :: string. –

+0

http://hastebin.com/jufukofaji.cpp здесь остальная часть кода, пока не удалось определить форматирование кода на этом сайте, извините, я делаю это так – Kossano

+0

@TrevorHickey Ум ... даже если бы это было 'std :: string', который не будет работать как общее решение. Оператор извлечения будет пропускать пробелы, включая новые строки, до сбоя потока или фактически считывает непустую строку. Я думаю, что правильное решение использует 'std :: getline', а не потоковое извлечение, и, конечно же, OP фактически должен проверять все операции ввода-вывода. – WhozCraig

ответ

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

вы можете попробовать это ..

+0

Пожалуйста, добавьте дополнительную информацию в свой ответ, чтобы объяснить, почему это поможет. – Tony

 Смежные вопросы

  • Нет связанных вопросов^_^