-1

I am an early C++ programmer and i wanted to create a simple little game on CMD with C++. Why do I get

fatal error C1075: end of file found before the left brace and read and write files not working

I checked every line and nothing appeared wrong.

I checked every line and nothing appeared wrong. No 'curly' red line appeared to me on any character. Maybe my eyes are wrong.

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;
  }
phaberest
  • 3,140
  • 3
  • 32
  • 40
  • Possible duplicate of [fatal error C1075: end of file found before the left brace and read and write files not working](https://stackoverflow.com/questions/2672495/fatal-error-c1075-end-of-file-found-before-the-left-brace-and-read-and-write-fi) – phaberest May 02 '19 at 15:36
  • Improved formatting – phaberest May 02 '19 at 15:41

1 Answers1

1

If you take the complete error message, you will get something like

fatal error C1075: end of file found before the left brace and read and write files not working

That mean that you don't close enough block that you open them (there is more { than }).

To correct the problem, you should indent you code source better.

Some tools like indent will do it for you. You can even find some tools online.


But there is other problems in your code:

  • there is no main
  • includes are missing
  • if (answerOfUser = answerExpected) (= instead of == on 4th question) is not what you want



That said, it would be far easier to split your code into different functions to improve readability.

Since your game is to ask a series of questions, you could start by one function by question... But this point of discussion has its place more on https://codereview.stackexchange.com/

Mathieu
  • 8,840
  • 7
  • 32
  • 45