2014-10-19 4 views
0

Привет, Я пытаюсь создать программу, которая читает символы, пока пользователь не вводит правильную последовательность символов (cs), чтобы открыть дверь. Вход должен содержать только c, за которым следует s, а также оба символа. Я не уверен, где я ошибаюсь! Пожалуйста помоги. Прямо сейчас он позволяет получить доступ, даже когда я ввожу одно слово!Пока последовательность символов Loop

int main() 
{ 
    char A; 
    int done = 0; 

    cout << "You have before you a closed door !" << endl; 
    cin >> A; 

    while (!done) 
    { 
     if (A='cs') 
     break; 

     else 
     cin >> A; 
    } 

    cout << "Congratulations ! The door has opened !" << endl; 

    return 0; 
} 
+0

'A = 'cs'' - ваша проблема. Посмотрите на оператора сравнения. – 0x499602D2

ответ

4

'cs' является multicharacter постоянной

И A='cs' этого назначения не сравнение, которое также не предназначен и неправильно

Вы должны использовать std::string A;

и сделать сравнение как следующие

if(A == "cs") { } 
0
int main() 
{ 
char A,B='cs'; 

cout << "You have before you a closed door !" << endl; 
cin >> A; 

while (1) 
{ 
    if (A==B) 
    break; 

    else 
    cin >> A; 
} 

cout << "Congratulations ! The door has opened !" << endl; 

return 0; 
} 

Вы ошиблись в сравнении константы мультисимвола.

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