现在发生的事情(在编辑代码之后)是每当我输入多个单词时,它就会出现痉挛。任何修复?谢谢。对不起,如果我好像什么也不知道。昂贵的书籍和没人教我,让我在线阅读教程。 (编辑后的代码如下。)
#include <iostream>
#include <string>
using namespace std;
string qu;
int y;
int main()
{
y = 1;
while (y == 1)
{
cout << "Welcome to the magic 8-ball application." <<"\nAsk a yes or no question, and the 8-ball will answer." << "\n";
cin >> qu;
cout << "\nProccessing...\nProccessing...\nProccessing...";
cout << "The answer is...: ";
int ans = (int)(rand() % 6) + 1;
if (ans == 1)
cout << "Probably not.";
if (ans == 2)
cout << "There's a chance.";
if (ans == 3)
cout << "I don't think so.";
if (ans == 4)
cout << "Totally!";
if (ans == 5)
cout << "Not a chance!";
if (ans == 6)
cout << "75% chance.";
system("CLS");
cout << "\nWant me to answer another question?" << "(1 = yes, 2 = no.)";
cin >> y;
}
return 0;
}
答案 0 :(得分:5)
while (y = 1);
应该是
while (y == 1)
您还有;
,应使用==
。
答案 1 :(得分:0)
这里有无限循环:
while (y = 1);
删除;
。另外y == 1
,而不是y = 1
。
为了避免将来出现这些错误:
1)以这种方式进行反向比较:
while (1 == y)
现在,如果您输入=
而非==
,则代码无法编译,因为1 = y
无效。
虽然大多数编译器都会警告你,如果你在条件下进行任务。你不应该忽略编译器警告。
2)将开口支架放在同一条线上:
while (1 == y) {
// ...... some code
}
现在,如果您在行尾输入;
,那么您的代码仍然正确无误:
while (1 == y) {;
// ...... some code
}