string a, b;
cin >> a >> b;
if (a == "yes") break;
...
왜 작동하지 않을까요? 사용자가 "예 (please please)"또는 "예 (yes please)"라고 입력하면 프로그램은 어떤 루프에서든지 빠져 나가야 만합니다. 콘솔은 라인 피드를 인쇄하고 기다립니다. 여기서 내가 뭘 잘못하고 있니?C++ 두 줄의 첫 번째 입력을 같은 줄에 확인하십시오.
string a, b;
cin >> a >> b;
if (a == "yes") break;
...
왜 작동하지 않을까요? 사용자가 "예 (please please)"또는 "예 (yes please)"라고 입력하면 프로그램은 어떤 루프에서든지 빠져 나가야 만합니다. 콘솔은 라인 피드를 인쇄하고 기다립니다. 여기서 내가 뭘 잘못하고 있니?C++ 두 줄의 첫 번째 입력을 같은 줄에 확인하십시오.
두 번째 문자열 b
의 읽기는 선택하지, 그래서 당신이 "yes"
이나 다른 단어를 입력하면, 프로그램 블록은 두 번째를 입력 할 수 있습니다.
다음 작업의 흐름이 진행한다 :
"yes"
내지 제 단어 비교 b
에 제 단어 a
b
의 값이 끝나기 전에는 비교가 시작되지 않습니다. 당신이 간단한 "yes"
에 루프를 종료하려면
"yes"
과 비교, a
을 읽고, 그런 다음에야 b
읽기 : 이제 cin >> a;
if (a == "yes") break;
cin >> b;
루프 당신이 모두를 종료하지 않는 경우를 a
및 b
이고 a
은 "yes"
과 같지 않습니다. 현재큰 설명 주셔서 감사합니다. – Norse
:
string a, b;
cin >> a >> b;
if (a == "yes") break;
...
다음으로는 될 일을 올바른 방법. b는 동시에 a와 b를 동시에 사용할 때 아무런 가치가 없습니다. 당신은 벌레의 깡통을 열고 (A [정규 표현식]을 사용할 수 http://en.cppreference.com/w/ :
string a, b;
cin >> a;
if (a == "yes")
{
break;
}
cin >> b;
B는 여전히
힌트 "같은 줄에"합니다 cpp/regex) 여기에 있습니다. 당신은 결코 알지 못한다. – tadman
"yes"만 입력하면 프로그램이 대기합니다. "예 부탁"을 입력하면 기다릴 필요가 없습니다. –
디버깅 도움말 ("이 코드가 작동하지 않는 이유는 무엇입니까?")에는 원하는 동작, 특정 문제 또는 오류 및 질문 자체에서이를 재현하는 데 필요한 가장 짧은 코드가 포함되어야합니다. 분명한 문제 성명이없는 질문은 다른 독자에게 유용하지 않습니다. 참조 : [최소한의 완전하고 검증 가능한 예제를 만드는 방법] (http://stackoverflow.com/help/mcve). –