Answer:
include <iostream>
using namespace std;
class Month
{
public:
Month (char firstLetter, char secondLetter, char thirdLetter);
Month (int monthNum);
.
Month();
void outputMonth_num();
void outputMonthLetters();
private:
int month;
};
int main ()
{
//
// Variable declarations
//
int monthNum;
char firstLetter, secondLetter, thirdLetter;
char testAgain;
do {
cout << endl;
cout << "Testing the default constructor ..." << endl;
Month defaultMonth;
defaultMonth.outputMonth_num();
defaultMonth.outputMonthLetters();
//
// Construct a month using the constructor with one integer argument
//
cout << endl;
cout << "Testing the constructor with one integer argument..." << endl;
cout << "Enter a month number: ";
cin >> monthNum;
Month testMonth1(monthNum);
testMonth1.outputMonth_num();
testMonth1.outputMonthLetters();
//
// Construct a month using the constructor with three letters as arguments
//
cout << endl;
cout << "Testing the constructor with 3 letters as arguments ..." << endl;
cout << "Enter the first three letters of a month (lowercase): ";
cin >> firstLetter >> secondLetter >> thirdLetter;
cout << endl;
Month testMonth2(firstLetter, secondLetter, thirdLetter);
testMonth2.outputMonth_num();
testMonth2.outputMonthLetters();
//
// See if user wants to try another month
//
cout << endl;
cout << "Do you want to test again? (y or n) ";
cin >> testAgain;
}
while (testAgain == 'y' || testAgain == 'Y');
return 0;
}
Month::Month(char firstLetter, char secondLetter, char thirdLetter)
{
if ((firstLetter == 'j')&&(secondLetter == 'a')&&(thirdLetter == 'n'))
outputMonth_num = 1;
if ((firstLetter == 'f')&&(secondLetter == 'e')&&(thirdLetter == 'b'))
outputMonth_num = 2;
if ((firstLetter == 'm')&&(secondLetter == 'a')&&(thirdLetter == 'r'))
outputMonth_num = 3;
if ((firstLetter = 'a')&&(secondLetter == 'p')&&(thirdLetter == 'r'))
outputMonth_num = 4;
if ((firstLetter == 'm')&&(secondLetter == 'a')&&(thirdLetter == 'y'))
outputMonth_num = 5;
if ((firstLetter == 'j')&&(secondLetter == 'u')&&(thirdLetter == 'n'))
outputMonth_num = 6;
if ((firstLetter == 'j')&&(secondLetter == 'u')&&(.thirdLetter == 'l'))
outputMonth_num = 7;
if ((firstLetter == 'a')&&(secondLetter == 'u')&&(thirdLetter == 'g'))
outputMonth_num = 8;
if ((firstLetter == 's')&&(secondLetter == 'e')&&(thirdLetter == 'p'))
outputMonth_num = 9;
if ((firstLetter == 'o')&&(secondLetter == 'c')&&(thirdLetter == 't'))
outputMonth_num = 10;
if ((firstLetter == 'n')&&(secondLetter == 'o')&&(thirdLetter == 'v'))
outputMonth_num = 11;
if ((firstLetter == 'd')&&(secondLetter == 'e')&&(thirdLetter == 'c'))
outputMonth_num = 12;
}
Month::inputMonthByNumber
{
if (Month_num > 12 && Month_num < 1)
cout << "Invalid number for Month, please choose 1-12)\n";
}
void Month::outputMonth_num()
{
if (month >= 1 && month <= 12)
cout ><< "Month: " << month << endl;
else
cout << "Error - The month is not a valid!" << endl;
}
void Month::outputMonthLetters()
{
switch (month)
{
case 1:
cout << "Jan" << endl;
break;
case 2:
cout << "Feb" << endl;
break;
case 3:
cout << "Mar" << endl;
break;
case 4:
cout << "Apr" << endl;
break;
case 5:
cout << "May" << endl;
break;
case 6:
cout << "Jun" << endl;
break;
case 7:
cout << "Jul" << endl;
break;
case 8:
cout << "Aug" << endl;
break;
case 9:
cout << "Sep" << endl;
break;
case 10:
cout << "Oct" << endl;
break;
case 11:
cout << "Nov" << endl;
break;
case 12:
cout << "Dec" << endl;
break;
default:
cout << "Error - the month is not a valid!" << endl;
}
}