CS 10B Programming Concepts and Methodologies 1

Project 4.5

This is your first activity that is labelled as a "project." You should use your IDE to develop projects instead of typing them directly into zyBooks.

In this project you may assume that the user will provide properly formatted, valid data.

The date June 10, 1960 is special because when we write it in the following format, the month times the day equals the year:

6/10/60

Write a program that asks the user to enter any date in the format specified above (month/day/2-digit-year). (It is very important that the input is in the correct format, typed all at once, all on one line, by the user. See the hints below.) The program should then determine whether the month times the day is equal to the year. If so, it should display a message saying the date is magic. Otherwise it should display a message saying the date is not magic.

Do not use any string variables in this assignment.

Hint: Don't use getline().

Hint: Read the three data into three separate int variables. Even though the user will be typing only one line of input, you will be using the extraction operator multiple times to read that input. I strongly suggest that you review lesson 2.9 before starting on this assignment.

To make your job easier, we will specify that it is still a valid date if the user uses a different non-numeric character instead of a slash. For example, 6%10q60 would be a valid date (and a magic date).

Here are some sample runs (user's input shown in bold):

Enter a date in the format month/day/2-digit-year: 6/10/60
That is a magic date!
Enter a date in the format month/day/2-digit-year: 6/10/61
That is not a magic date!
Enter a date in the format month/day/2-digit-year: 6/6w36
That is a magic date!
Enter a date in the format month/day/2-digit-year: 12/6w72
That is a magic date!

If you are having trouble handling the slashes, I'd suggest that you begin by writing the following program, which is one step toward the complete program: Write and test a complete program that (1) asks the user to enter a month followed by a single non-numeric character, and then (2) prints the month and punctuation character that were entered. Here is a sample run of this first-step program (user's input shown in bold):

Enter a month as an integer, followed by a punctuation character: 6#
You entered the month 6 followed by the punctuation character #