失踪的;在标识符计数之前
Missing ; before identifier cout
我正在完成学校的作业。我写了所有内容,但似乎有一个错误:
在第15行"您的数字更大"之前的计数前缺少";"比……"
我无法理解这个错误或修复它。请帮助。整个程序的代码如下:
#include <iostream>
using namespace std;
int main()
{
int intSecretNum = 47;
int intGuess;
cout<< "Guess the secret number (between 0 and 100 inclusively): ";
cin>> intGuess;
while(intSecretNum != 47, intGuess<= 5)
{
if( intGuess < intSecretNum)
cout << "Your Number is smaller than the secret number";
else (intGuess > intSecretNum)
cout << "Your Number is bigger than the secret number";
intGuess++;
if(intGuess>5)
cout << "Sorry, you have used up all your quota (5 times)! The secret number is "<<intSecretNum;
cout << "program terminated." <<endl;
}
cout<< "You have used "<<intGuess <<"to guess te secret number which is " <<intSecretNum<<".";
cout<<"program terminated."<<endl;
return 0;
}
我对c++很陌生,请帮忙
问题就在这里
else (intGuess > intSecretNum)
cout << "Your Number is bigger than the secret number";
这里假设(intGuess > intSecretNum)
是一条将在else
条件下执行的语句,这就是为什么您会得到一个错误警告,警告您缺少分号。
应该改成
else if(intGuess > intSecretNum)
cout << "Your Number is bigger than the secret number";
修改这一行:
else (intGuess > intSecretNum)
else if( intGuess > intSecretNum)
问题是你不能只用关键字else
给出一个特殊的条件。Else用来描述"在任何其他情况下做……"。所以在你的例子中,因为这是一个简单的测试你可以试着在else之后去掉条件然后从:
else (intGuess> intSecretNum):
else
为了可读性,我还建议总是用{}
包围你的指令这将给你:
while(intSecretNum != 47, intGuess<= 5)
{
if( intGuess < intSecretNum){
cout << "Your Number is smaller than the secret number";
}
else {
cout << "Your Number is bigger than the secret number";
}
intGuess++;
if(intGuess>5)
cout << "Sorry, you have used up all your quota (5 times)! The secret number is "<<intSecretNum;
cout << "program terminated." <<endl;
}
注意:在while循环中也有一些没有意义的东西。但这可能是另一个问题的主题
你的意思可能是:
while(intSecretNum != 47, intGuess<= 5)
{
if( intGuess < intSecretNum)
cout << "Your Number is smaller than the secret number";
else if(intGuess > intSecretNum)
cout << "Your Number is bigger than the secret number";
intGuess++;
if(intGuess>5) {
cout << "Sorry, you have used up all your quota (5 times)! The secret number is "<<intSecretNum;
cout << "program terminated." <<endl;
}
}
注意else
后面的if
。else
没有if
那样的条件。还要注意最后一个if
块周围的括号。没有括号,只有一条语句构成整个if
块。
相关文章:
- 在C++中,是否可以基于给定的标识符创建基类的新实例,反之亦然
- #ifdef和未声明的标识符
- f2、f3、f4标识符未找到
- 设置 Visual Studio for MPI: 找不到标识符错误
- 未声明的标识符编译暗黑破坏神 2 程序"muleview"
- 在顶点着色器中使用 OpenGl 的未声明标识符,我在顶点着色器中绘制三角形时遇到问题
- Google protobuf 时间戳未声明标识符,在 Windows 上具有C++
- 如何让 GCC/Clang 在保留标识符上出错
- 错误 C2760:语法错误:映射迭代器上意外的标记"标识符",预期的";"
- 当简单捕获中的标识符显示为参数的声明符 ID 时,没有编译器诊断
- 使用说明符 extern 声明的C++中的标识符链接
- C++:枚举:错误:应使用标识符而不是"}"
- 为什么我们不能重复使用具有不同模板参数的别名模板标识符?
- Visual Studio C++ PlaySound 标识符未定义
- 为什么我们不编写可以处理C++标识符的汇编器和链接器?
- 使用未声明的标识符"sqrt"?
- 找不到标识符合并
- 在模板化函数中重新定义(忽略)的 SWIG 标识符
- 在 c++ 中找不到此函数的标识符
- 失踪的;在标识符计数之前