So, what do YOU think main() does?

I believe the Main() function is there for the compiler and command line to be read and perform the tasks defined within the { … }. Each task is considered a statement that the CL(Command Line) runs when that statement has an ending with a semi-colon ( ; ). This allows us to perform both simple, and complex statements within a relatively short amount of time instead of having to perform everything in 1’s and 0’s.

main() is the function that HAS to be included in a program to run the program. It’s the MAIN function.

In the code provided, this main() starts off by clearing the terminal, declaring two variables, difficult and maxDifficulty, and initializing there values.
The program continues with a while statement that compares the current difficulty level to the maxDifficulty level to make sure it is either equal to or less than the maxDifficulty. So while difficulty is less than or equal to maxDifficulty, it will execute the PlayGameAtDifficulty() function at the current difficulty level.
It will then clear the input and ignore buffers when taking input from the use and increase the difficulty by one.
The while statement will continue until it reaches maxDifficulty and finally break to then display on the screen “WOW - You’re a master hacker!” and going to a new line (which can also be done with an std::endl command).
Finally returning 0, to say the program has executed correctly.

This looks similar to C#, which I’m more familiar with.

Overall Purpose of main():

To provide an entry point into our program. (C# has a similar Program.Main() method.) Without it, the compiler cannot provide an executable when it compiles our code because it doesn’t know what other methods to use as an entry point.

Step 1: Set the difficulty of the lock equal to level 2

int difficulty = 2;

Step 2: Set the difficulty goal to 10 (we must get beyond level 10 to succeed)

int maxDifficulty = 10;

Step 3: Loop gameplay until difficulty becomes greater than 10 (stop loop beyond level 10)

while (difficulty <= maxDifficulty)
{
...
}

Step 3a: Load a level based on the current difficulty level

PlayGameAtDifficulty(difficulty);

Step 3b: Prompt user for three-digit combination
Inside the code of step 3a

Step 3c: Prevent user from entering unwanted text after entering a guess

std::cin.clear();
std::cin.ignore();

Step 3d: Advance the difficulty by one level

++difficulty;

After this point, we return to step 3.

Step 4: Congratulate the player if he/she completes level 10

std::cout << "WOW - You're a master hacker!\n";

Step 5: Exit the game with no-error code

return 0;
1 Like

The main() function to my knowledge and for lack of better words is as the name implies the main or principal function of the program, in a sense you could say it IS the program itself, from which all our logic, and other functions and/or operations are called to solve the particular problem the program is designed to solve.

No idea what main() may mean. My best guess would be the base of the program for the system to return back to in case of errors.

I think the main functions is like the heart of the program. It’s what starts and ends it, it is also what every other piece of code reports back to to run their respective lines of code.

It’s a thread executing a chunk of code.

The main function is Setting the Difficulty to 2, While the Difficulty is less then or equal to 10 it will run the code PlayGameAtDifficulty with (difficulty) being the current difficulty ++difficulty is increasing the difficulty by 1 each time you run the code

I believe the main() is the body of the code. It’s what runs each procedure our code is supposed to do in the order that it’s given.

In the case of the particular main() of these exercise, it will set the difficulty (min and max) and run the game within the limits set by the 2 initial values declared (2 and 10).

The main() function is where the main source of code is called and executed. The main function is the one that returns the value to the compiler.

It initializes two integers one for the starting difficulty and one for the maximum difficulty. It then goes through a loop that ends when the difficulty int is equivalent to the maxDifficulty int. Each iteration through the loop calls a function called PlayGameAtDifficulty() using the difficulty int as it’s argument which must use the difficulty value to determine how difficult the math will be. Then It uses some member functions of the cin class that I’ve never used and don’t know. Then It increments the difficulty. If the user makes it through difficulty ten the text " WOW - You’re a master hacker!" is displayed and it starts a new line. Finally it returns 0.

It seems to set an initial difficulty and a max difficulty. The while loop is valid just until the current difficulty reaches the max difficulty. And each loop increases it by one. I’m a complete beginner in C++ and I may be totally wrong. My answer is based in some prior knowledge of Javascript…

The main() I think initializes the main body of functions that are written.

The entry point of our game

main() function is the entry point of a c++ program. This is where the execution of statements start.
main() is called by the system for program execution.

I think main() is mostly for carrying out the ‘main’ statements of the code.
It’s mostly made up of function calls, taking input from the user, variable declarations.
It seems that main functions can be pretty short in length being that any other code or calculations are done in a separate function, and then called in the main function.

man() is the first block of code to be executed in a C++ program. You can use main() to call other funcions.

Well I don’t know much about c++ , but I think that main is a function in which the statements that I use are being read by the computer .

It looks to me like main is what sets the parameters for determining the execution of the code and when it finished. It might also be related to memory management but I’m not sure about that part. I’m pretty sure it determines how the code starts and finishes, so like an overview or container for everything else. Sorta.

Looking forward to seeing how wrong I was haha.

  • Main is the function from which execution of the program starts
  • It has two integer type variables one assigned to 2 which refers to the current level of the game and another variable assigned to 10 which refers to the maximum level of the game
  • Then it executes a loop which initially checks if the current difficulty is less than max difficulty
  • Then it calls a user defined function passing the difficulty of the current level
  • It then comes back to the main and sets the stream back to goodbit and then the input value is discarded
  • After All the levels are done, it come out of the loop and displays the print statement and returns.

Privacy & Terms