고전적인 "추측 번호"프로그램을 작성하고 있습니다.일치하는 문자열을 검사하는 OR 조건이 항상 true를 반환하는 이유는 무엇입니까?
"성공"이라고 쓰고 기본 경로로 이동 한 후에도 while 루프가 작동을 멈추지 않는 이유를 모르겠습니다. 당신이 또는 "성공", "성공"인 경우 체크하기 때문에
int xRan;
void rdm(int to, int from){
srand(time(NULL));
xRan = rand()%to+from;
}
void iGuess(){
string b;
int tries = 1;
cout << "Think of a number between 1 and 100" << endl;
rdm(100, 1);
while(b != "Success" || b != "success"){
cout << "is your number higher or lower than " << xRan << ". (attempt #" << tries << ")" << endl;
cout << "If I guessed your number, please type 'Success' " << endl;
cout << "-->";
cin >> b;
if(b == "Lower" || b == "lower"){
rdm(xRan, 1);
tries++;
}else if(b == "Higher" || b == "higher"){
rdm(100, xRan);
tries++;
}else{
cout << "This is not a valid choice." << endl;
}
}
cout << "I'm so good! I did it in " << tries << "attempts!" << endl;
}
Zeptile으로 작성하십시오. 두 번째 질문을 제거했습니다. "둘째, 숫자를 찾기 위해 더 나은 인공 지능 작성에 대한 조언을하고 싶습니다." 귀하의 게시물에서 그것은 일반적으로 하나의 2 질문을하는 것이 좋습니다. 변경 사항을 취소하고 직접 질문을 개선하십시오. 새로운 질문으로 두 번째 질문을 할 수는 있지만, 같은 글을 쓰는 유일한 사람이 아닌 것처럼 비슷한 게시물을 검색하십시오. –