为什么我会收到致命错误C1075,我检查了代码,没有发现任何错误

时间:2019-05-02 12:59:10

标签: visual-c++

我是C ++的早期程序员,我想用C ++在CMD上创建一个简单的小游戏。我为什么得到

  

严重错误C1075:在左括号之前发现文件结尾,并且读写文件不起作用

我检查了每一行,都没发现错误。

我检查了每一行,没有发现任何错误。我没有在任何角色上看到“弯曲”的红线。也许我的眼睛错了。

std::cout << "Enter 1 to Play: ";
int play = 0;
std::cin >> play;

if (play == 1) {
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << "                          +=======================================+\n";
  std::cout << "                          ||            CMD Math Tester          ||\n";
  std::cout << "                          ||              Version 1.0            ||\n";
  std::cout << "                          ++-------------------------------------++\n";
  std::cout << "                          ||         Answer the questions.       ||\n";
  std::cout << "                          +=======================================+\n";
  std::cout << " \n";
  std::cout << " \n";
  std::cout << "What is 2+2: ";
  int answerExpected = 4;
  int answerOfUser = 0;
  std::cin >> answerOfUser;
  if (answerOfUser == answerExpected) {
    std::cout << "That is correct!\n";
    std::cout << " \n";
    std::cout << "What is 10+11: ";
    answerExpected = 21;
    answerOfUser = 0;
    std::cin >> answerOfUser;
    if (answerOfUser == answerExpected) {
      std::cout << "That is correct!\n";
      std::cout << " \n";
      std::cout << "What is 100+200: ";
      answerExpected = 300;
      answerOfUser = 0;
      std::cin >> answerOfUser;
      if (answerOfUser == answerExpected) {
        std::cout << "That is correct!\n";
        std::cout << " \n";
        std::cout << "What is 500-250: ";
        answerExpected = 250;
        answerOfUser = 0;
        std::cin >> answerOfUser;
        if (answerOfUser = answerExpected) {
          std::cout << "That is correct!\n";
          std::cout << " \n";
          std::cout << "What is 5*2: ";
          answerExpected = 10;
          answerOfUser = 0;
          std::cin >> answerOfUser;
          if (answerOfUser == answerExpected) {
            std::cout << "That is correct!\n";
            std::cout << " \n";
            std::cout << "What is 5*5: ";
            answerExpected = 25;
            answerOfUser = 0;
            std::cin >> answerOfUser;
            if (answerOfUser == answerExpected) {
              std::cout << "That is correct!\n";
              std::cout << " \n";
              std::cout << "What is 200*5: ";
              answerExpected = 1000;
              answerOfUser = 0;
              std::cin >> answerOfUser;
              if (answerOfUser == answerExpected) {
                std::cout << "That is correct!\n";
                std::cout << " \n";
                std::cout << "What is the sqrt of 16: ";
                answerExpected = 4;
                answerOfUser = 0;
                std::cin >> answerOfUser;
                if (answerOfUser == answerExpected) {
                  std::cout << "That is correct!\n";
                  std::cout << " \n";
                  std::cout << "What is the sqrt of 81: ";
                  answerExpected = 9;
                  answerOfUser = 0;
                  std::cin >> answerOfUser;
                  if (answerOfUser == answerExpected) {
                    std::cout << "That is correct!\n";
                    std::cout << " \n";
                    std::cout << "What is the absolute of 420: ";
                    answerExpected = 420;
                    answerOfUser = 0;
                    std::cin >> answerOfUser;
                    if (answerOfUser == answerExpected) {
                      std::cout << "That is correct!\n";
                      std::cout << " \n";
                      std::cout << "What is the absolute of -639: ";
                      answerExpected = 639;
                      answerOfUser = 0;
                      std::cin >> answerOfUser;
                      if (answerOfUser == answerExpected) {
                        std::cout << "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";
                        std::cout << "|       Congratulations       |\n";
                        std::cout << "+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+\n";
                        std::cout << " \n";
                        std::cout << " \n";
                        std::cout << "You Have passed the test!\n";
                      } else {
                        std::cout << "That is wrong.\n";
                      }
                    } else {
                      std::cout << "That is wrong.\n";
                    }
                  } else {
                    std::cout << "That is wrong.\n";
                  }
                } else {
                  std::cout << "That is wrong.\n";
                }
              } else {
                std::cout << "That is wrong.\n";
              }
            } else {
              std::cout << "That is wrong.\n";
            }
          } else {
            std::cout << "That is wrong.\n";
          }
        } else {
          std::cout << "That is wrong.\n";
        }
      } else {
        std::cout << "That is wrong.\n";
      }
    } else {
      std::cout << "That is wrong.\n";
    }
  } else {
    std::cout << "Enter 1 to Play: ";
    std::cin >> play;
  }

1 个答案:

答案 0 :(得分:1)

如果您看到完整的错误消息,则会得到类似

的信息。
  

严重错误C1075:在左括号之前发现文件结尾,并且读写文件不起作用

这意味着您没有关闭足够多的块来打开它们({}多)。

要解决此问题,您应该更好地缩进代码源。

诸如indent之类的某些工具将为您完成此任务。您甚至可以找到一些工具online


但是您的代码中还有其他问题:

  • 没有main
  • 缺少内容
  • if (answerOfUser = answerExpected)(不是第四个问题上的=,而不是==



也就是说,将代码拆分为不同的功能以提高可读性要容易得多。

由于您的游戏要问一系列问题,因此您可以从一个函数开始逐个问题...但是,这一点在https://codereview.stackexchange.com/

上有更多的位置。