2015-12-06 1 views
-3
do { 

    for (i=0 ; i < N_FILAS ; i++) { 
     cout << "Enter word "<< i <<":"<< endl; 
     cin >> matriz[i]; 
    } 
} while(matriz[i]!="."); 

Предполагается, что если я наберу. , цикл должен остановиться, но он продолжает работать.Почему эта вложенная петля не работает с векторами

+2

Вы проверяете только ''. '' _after_ весь цикл 'for'. – emlai

+0

Итак, как я могу остановить весь цикл, если я напишу «.»? – Seokjin

+0

Это петля внутри цикла. – Rabbid76

ответ

0

Будет ли это то, что вы пытаетесь сделать:

bool lastWord = false; 
std::string word; 
for (int i = 0; i < N_FILAS && !lastWord; i++) { 
    std::cout << "Enter word " << i << ":" << std::endl; 
    std::cin >> word; 
    if (word == ".") 
    { 
     lastWord = true; 
    } 
    else 
    { 
     matriz[i] = word; 
    } 
} 

Заявление перерыв также может быть использован, но по-моему, это не очень хорошая практика.

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