The following are the topics available in this part.
Defining Fall-Through in a switch Statement
If you omit the break statement at the end of a case branch, flow of control continues on to the next statement. This process is called fall-through. The following example illustrates why fall-through might be useful. This example tests a lowercase letter to see if it is a vowel or a consonant:
There is no break statement in the first four case labels. Flow of control passes on to the next executable statement to display the message Vowel. The default branch deals with all the other letters and displays the message Consonant. |
Using Fall-Through in a switch Statement
In this exercise, you will enhance your Calendar Assistant application to display the season for the user’s date.
Continue working with the project from the previous exercise.
Modify the DisplayDate function. After displaying the year, month, and day, add the following code to display the season:
void DisplayDate(int year, int month, int day)
{
Console::WriteLine(L"\nThis is the date you entered:");
Console::Write(year);
Console::Write(L"-");
Console::Write(month);
Console::Write(L"-");
Console::Write(day);
Console::WriteLine();
switch (month)
{
case 1: Console::Write(L"January"); break;
case 2: Console::Write(L"February"); break;
case 3: Console::Write(L"March"); break;
case 4: Console::Write(L"April"); break;
case 5: Console::Write(L"May"); break;
case 6: Console::Write(L"June"); break;
case 7: Console::Write(L"July"); break;
case 8: Console::Write(L"August"); break;
case 9: Console::Write(L"September"); break;
case 10: Console::Write(L"October"); break;
case 11: Console::Write(L"November"); break;
case 12: Console::Write(L"December"); break;
default: Console::Write(L"Unknown"); break;
}
switch (month)
{
case 12:
case 1:
case 2: Console::WriteLine(L" [Winter]"); break;
case 3:
case 4:
case 5: Console::WriteLine(L" [Spring]"); break;
case 6:
case 7:
case 8: Console::WriteLine(L" [Summer]"); break;
case 9:
case 10:
case 11: Console::WriteLine(L" [Fall]"); break;
}
}
Build the program.
Run the program several times, and enter a different month each time. Verify that the program displays the correct season name each time.
Performing Loops
For the rest of this module, you’ll see how to perform loops in Visual C++. You’ll also see how to perform unconditional jumps in a loop by using the break and continue statements. Visual C++ has three loop constructs: the while loop, the for loop, and the do-while loop. Let’s look at the while loop first.
Using while Loops
The following illustration shows a simple while loop.
The following example shows how to write a simple while loop in Visual C++:
int count = 1;
while (count <= 5)
{
Console::WriteLine(count * count);
count++;
}
Console::WriteLine(L"The end");
The while keyword is followed by a conditional expression enclosed in parentheses. The parentheses are mandatory. If the conditional expression evaluates to true, the while body is executed. After the loop body has been executed, control returns to the while statement and the conditional expression is tested again. This sequence continues until the test evaluates to false. Remember to include some kind of update statement in the loop so that the loop will terminate eventually. The update statement in the preceding example is count++, which increments the loop counter. If you don’t provide an update statement, the loop will iterate forever.
The preceding example displays the output in the following graphic.
In this exercise, you will enhance your Calendar Assistant application so that the user can enter five dates.
Continue working with the project from the previous exercise.
Modify the code in the main() function to enable the user to enter five dates.
int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Welcome to your calendar assistant");
// Declare and initialize the loop counter
int count = 1;
// Test the loop counter
while (count <= 5)
{
Console::Write(L"\nPlease enter a date ");
Console::WriteLine(count);
int year = GetYear();
int month = GetMonth();
int day = GetDay(year, month);
DisplayDate(year, month, day);
// Increment the loop counter
count++;
}
return 0;
}
Build and run the program. The program prompts you to enter the first date. After you have entered this date, the program prompts you to enter the second date. This process continues until you have entered five dates, at which point the program closes.
![]() |