C Sharp

The while Statement

The while statement takes the following form: -

while (Boolean-expression)
embedded-statement

Using the number-guessing example from earlier in the chapter, we could rewrite the example, as beginning with a while statement such that you could continue the game until you either guessed the correct number or decided to quit.

using System;
class WhileApp
{
    const int MIN = 1;
    const int MAX = 10;
    const string QUIT_CHAR = "Q";
    public static void Main()
    {
        Random rnd = new Random();
        double correctNumber;
        string inputString;
        int userGuess;
        bool correctGuess = false;
        bool userQuit = false;
        while (!correctGuess && !userQuit)
        {
            correctNumber = rnd.NextDouble() * MAX;
            correctNumber = Math.Round(correctNumber);
            Console.Write
                ("Guess a number between {0} and {1}...({2} to quit)",
                MIN, MAX, QUIT_CHAR);
            inputString = Console.ReadLine();
            if (0 == string.Compare(inputString, QUIT_CHAR, true))
                userQuit = true;
            else
            {
                userGuess = inputString.ToInt32();
                correctGuess = (userGuess == correctNumber);
                Console.WriteLine
                    ("The correct number was {0}\n",
                     correctNumber);
            }
        }
        if (correctGuess && !userQuit)
        {
            Console.WriteLine("Congratulations!");
        }
        else
        {
            Console.WriteLine("Maybe next time!");
        }
    }
}

Coding and running this application will result in output similar to the following: -

C:\>WhileApp
Guess a number between 1 and 10...(Q to quit)3
The correct number was 5
Guess a number between 1 and 10...(Q to quit)5
The correct number was 5
Congratulations!
C:\>WhileApp
Guess a number between 1 and 10...(Q to quit)q
Maybe next time!