![](/img/trans.png)
[英]What am i doing wrong in this code in C++ , Generic Functions?
[英]What am I doing wrong in this C++ code?
#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”后命令提示符關閉。 我已經嘗試了一切,從更改循環類型到重新排列代碼,但是我嘗試的一切都是徒勞的。
bool
值只能保持0或1(正確或錯誤)的值。 嘗試將newgame
更改為char
。 另外,您正在使用賦值( =
)而不是等於( ==
)。
另外,如果您嘗試循環(正如我認為您的問題所暗示的那樣),則需要在do...while
循環中將變量聲明之外的所有內容包裝起來。
問題是==是相等的運算符,而不是=賦值的運算符。 發生的是這部分
if (newgame = "n")
{ newgame = false;
return(123);
}
正在執行並以123退出。布爾值不存儲“ yes”和“ no”值,它們存儲1表示true,0表示false。
看起來不太近,但我看到很多if blah =的東西,我認為您可能想使用==而不是=,=在if語句中執行賦值==進行比較
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.