2012-02-16 2 views
1

Может кто-нибудь помочь мне сделать этот цикл. когда кто-то вводит Y, когда цикл спрашивает «у вас есть другое имя». он будет держать не задавать тот же вопрос до ввода пользователя N.do/while цикл не работает

char ans; 

do { 
cout<<"Do you have another name (Y/N)?\n"; 


while(ask!="y"!! ans!!="n") { 
     cout<<"you must enter 'Y' or an 'N'.\n"; 
     cin >> ans; 
} 

if(ans=='y') 
    enter other name(); 
elseif end; 
+6

В следующий раз приложите достаточное усилие, чтобы хотя бы сделать его компиляцией, а затем поставьте комментарий к строке, которую, по вашему мнению, нужно изменить. Прямо сейчас у вас ужасные синтаксические ошибки. –

ответ

5

Это просто & довольно просто:

string answer; 
do { 
    enter_other_name(); 
    cout << "Do you have another name (Y/N)" << endl; 
    cin >> answer; 
} while(answer!="n"); 

Это будет пользователь ошибки, пока он не войдет в н. Если вы хотите продолжать прослушивание, пока он нажимает y, тогда измените последнюю строку на } while(answer=="y");

1

Этот код просто не имеет смысла. У вас есть незавершенный цикл do и цикл while, вы сравниваете char с char *, !! = недействительным оператором ...

Пожалуйста, разместите код, который компилируется. К тому моменту, когда вы его собрали, вы могли бы решить, в чем проблема.

Что касается примеров проводки, копирование и вставка - ваш друг.