#include <cstdlib>
#include <ctime>
#include <iostream>
int main()
{
bool newgame;
std::cout << " Ready to waste more family money gambling? y/n ";
std::cin >> newgame;
if (newgame = "n")
{
newgame = false;
return(123);
}
else if (newgame = "y")
{
srand(time(NULL));
int number = rand() % 10;
int guess;
std::cout << "Pick your number ";
std::cin >> guess;
if (guess == number)
{
std::cout << "Winner!";
}
else
{
std::cout << "Loser!";
}
}
}
내가 여기서 잘못한 것을 이해하지 못합니다. "y"또는 "n"을 입력하면 명령 프롬프트가 닫힙니다. 루프 유형을 변경하는 것부터 코드를 재정렬하는 것까지 모든 것을 시도했지만 시도한 모든 것은 효과가 없습니다.이 C++ 코드에서 내가 뭘 잘못하고 있니?
을 비교 한을 수행 newgame을 잘못 비교합니다. 우선, 항등 연산자 ('==')가 아닌 대입 연산자 ('=')를 사용하고 있습니다. 또 다른 한가지는 부울을 문자열과 비교하는 것이고 이것은별로 의미가 없습니다. –
항상 경고를 사용하여 컴파일하십시오. 경고를 받으면 *주의를 기울이십시오. – jwodder
세기의 버그의 또 다른 사례 ... – 101010