Pretty simple question here - I just want to end the program if the user doesn't meet a certain condition...I think I heard "return 0" when I read about this, but the problem is that "that" just ends the program whether or not the condition is met, and I can't move onto the next condition.
Below is the code of a part of my program, and I would obviously want to end the program after the output is given in the else statements:
cout << "\nPlease enter your month: \n";
cin >> month;
if (month > 0 && month <= 12)
cout << "\nMonth entered is valid. \n";
else
cout << "\nError: Month entered was not in between 0 and 12. Program ending. \n";
cout << "\nPlease enter your day: \n";
cin >> day;
if (day > 0 && day <= 31)
cout << "\nDay entered is valid. \n";
else
cout << "\nError: Day entered was not in between 0 and 31. Program ending. \n";
cout << "\nPlease enter your year (use 4-digits): \n";
cin >> year;
if (year >= 1900 && year <= 2099)
cout << "\nYear entered is valid. \n";
else
cout << "\nError: Year entered was not in between 1900 and 2099. Program ending. \n";
The return 0; ends the program only when it is a return statement of your main() function.
Applied to a small part of your program:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
int main(int argc, char** argv)
{
cout << "\nPlease enter your day: \n";
cin >> day;
if (day > 0 && day <= 31)
{
cout << "\nDay entered is valid. \n";
}
else
{
cout << "\nError: Day entered was not in between 0 and 31. Program ending. \n";
return 0; //This returns the main function, effectively ending the program
}
}
The program will end if either a return statement in main(), or if execution simply reaches the closing brace of main()
If you don't want the execution to reach that point, you may need a loop. Certainly if the user enters invalid input it is usually a good idea to go back and get the user to try again, which would involve a loop.
I'm not sure what you are asking. The program will always end when it reaches the end of processing, unless you put something there such as a request for user to press a key.
As I understand it, you are required to end the program when invalid input is found, for which a solution given by NwN. (Not the change to int main(), that is not relevant here, but the change to the if-else.