在“其他之前”获得“预期的主要表达”

时间:2014-02-19 17:24:54

标签: c++

我已经查看了大约15页并修正了这个问题,但是无法破解它。如果有人可以建议我会永远感激不尽!

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
 {
   int exres = 100;

   if (exres = 100)
   {
      cout << "Perfect Score!";
      else
      cout << "try again";
   }    


system("PAUSE");
return EXIT_SUCCESS;
}

2 个答案:

答案 0 :(得分:4)

您的if语句语法不正确。 if语句的每个部分都应位于自己的块中({}内)。

if (exres == 100)
{
   cout << "Perfect Score!";
}
else
{
   cout << "try again";
}

如果每个块都包含一个语句(就像在这种情况下那样),那么大括号可以完全省略:

if (exres == 100)
   cout << "Perfect Score!";
else
   cout << "try again";

但是,我建议始终使用大括号。

另请注意,您的赋值运算符(=)应该是相等运算符(==)。

答案 1 :(得分:0)

你犯了两个错误。 else语句没有相应的if语句,而是在语句

中使用了赋值运算符而不是比较运算符
  if (exres = 100)

我也会在输出语句中插入endl

   if ( exres == 100)
   {
      cout << "Perfect Score!" << endl;
   }
   else
   {
      cout << "try again" << endl;
   }    

也没有人能够重复尝试,因为你为自己设定了exres的值。我会按照以下方式编写程序

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
   while ( true )
   {
      cout << "Enter your score: ";
      unsigned int exres = 0;

      cin >> exres;

      if ( exres == 0 ) break;

      if ( exres == 100)
      {
         cout << "Perfect Score!" << endl;
      }
      else
      {
         cout << "try again" << endl;
      }
   }    


   system("PAUSE");

   return EXIT_SUCCESS;
}