Difference between revisions of "The number of years should be between 0 and 5 but no validation takes place"
Calsayles23 (talk | contribs) |
Calsayles23 (talk | contribs) (→Other Method) |
||
Line 38: | Line 38: | ||
static int GetHowLongToRun() | static int GetHowLongToRun() | ||
{ | { | ||
− | + | int Years = -2; | |
Console.WriteLine("Welcome to the Plant Growing Simulation"); | Console.WriteLine("Welcome to the Plant Growing Simulation"); | ||
Console.WriteLine(); | Console.WriteLine(); | ||
Line 45: | Line 45: | ||
Console.WriteLine("How many years do you want the simulation to run?"); | Console.WriteLine("How many years do you want the simulation to run?"); | ||
Console.Write("Enter a number between 0 and 5, or -1 for stepping mode: "); | Console.Write("Enter a number between 0 and 5, or -1 for stepping mode: "); | ||
+ | |||
while (Years < 0 || Years > 5) { | while (Years < 0 || Years > 5) { | ||
Years = Convert.ToInt32(Console.ReadLine()); | Years = Convert.ToInt32(Console.ReadLine()); |
Latest revision as of 11:57, 28 April 2017
1 static int GetHowLongToRun()
2 {
3 int Years = 0;
4 Console.WriteLine("Welcome to the Plant Growing Simulation");
5 Console.WriteLine();
6 Console.WriteLine("You can step through the simulation a year at a time");
7 Console.WriteLine("or run the simulation for 0 to 5 years");
8 Console.WriteLine("How many years do you want the simulation to run?");
9 Console.Write("Enter a number between 0 and 5, or -1 for stepping mode: ");
10
11 while(true)
12 {
13 Years = Convert.ToInt32(Console.ReadLine());
14
15 if (Years >= -1 && Years <= 5)
16 break;
17 else
18 Console.Write("You MUST Enter a number between 0 and 5, or -1 for stepping mode: ");
19 }
20
21 return Years;
22 }
Explanation
Line 11: While loop added so that if the user inputs an invalid number, there is a way for them to input again, an unlimited number of times.
Line 15: Checks if the value of years is between -1 and 5 (all valid inputs).
Line 16: If line 15 is true, the program will break out of the while loop and continue as usual.
Line 17/18: If the above if statement is false, the user will be prompted to add a valid number.
Other Method
1 static int GetHowLongToRun()
2 {
3 int Years = -2;
4 Console.WriteLine("Welcome to the Plant Growing Simulation");
5 Console.WriteLine();
6 Console.WriteLine("You can step through the simulation a year at a time");
7 Console.WriteLine("or run the simulation for 0 to 5 years");
8 Console.WriteLine("How many years do you want the simulation to run?");
9 Console.Write("Enter a number between 0 and 5, or -1 for stepping mode: ");
10
11 while (Years < 0 || Years > 5) {
12 Years = Convert.ToInt32(Console.ReadLine());
13 if (Years < 0 || Years > 5)
14 Console.WriteLine("Try a different number");
15 }
16 return Years;
17 }