Извините, этот код кажется глупым, но я просто хочу получить лог c.
Я пытаюсь завершить программу, когда пользователь вводит quit
в качестве ввода.
Я написал name != "quit" && sname != "quit"
как условие while, поэтому, если любое из них равно quit
, l oop закончится (верно?).
Но когда я пишу quit
как name
, он по-прежнему ожидает ввода sname
, если я напишу quit также для ввода sname
, тогда он, наконец, завершится. Но разве он не должен заканчиваться, когда он видит quit
в самый первый раз, так как я написал условия с помощью &&
?
Кроме того, я получаю тот же результат, когда я написал условие с помощью ||
. Почему это так?
int main()
{
string name="",sname="";
cout << "enter your name and surname \n";
cout << ">>name=";
getline(cin,name);
cout << ">>surname=";
getline(cin,sname);
while (name != "quit" && sname != "quit")
{
cout << ">>name=";
getline(cin,name);
cout << ">>surname=";
getline(cin,sname);
}
return 0;
}
Вывод:
enter your name and surname
>>name=John
>>surname=Wick
>>name=quit
>>surname=