Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This is my assignment: Classes and Data Abstraction Design and implement a class

ID: 3739442 • Letter: T

Question

This is my assignment:

Classes and Data Abstraction

Design and implement a class dayType that implements the day of the week in a program. The class dayTypeshould store the day, such as Sunday for Sunday. The program should be able to perform the following operations on an object of type dayType:

Step a: Set the day.

Step b: Print the day.

Step c: Return the day.

Step d: Return the next day.

Step e: Return the previous day.

Step f: Calculate and return the day by adding certain days to the current day. For example, if the current day is Monday and we add 4 days, the day to be returned is Friday. Similarly, if today is Tuesday and we add 13 days, the day to be returned is Monday.

Step g: Add the appropriate constructors.

Write the definitions of the functions to implement the operations for the class dayType.

The only part I am having problems with is Step F. I am using an online teaching tool called MindTap and it is very particular with the way it wants the code written. Right now I have the function as string function but MindTap wants it to be a void function. Here's the code I have now:

string dayType::addDay(int nDays)

{

string weekDays[] = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"};

int index;

for(int i = 0; i < 7; i++)

{

if (weekDay == weekDays[i])

{

index = i;

break;

}

}

return weekDays[ (index + nDays) % 7 ];

}

Any help would be greatly appreciated!

Explanation / Answer

main program

#include <iostream>
#include <string>
#include "dayType.h"  
using namespace std;
void showSelections();
int main()
{
dayType userDay;
int currentDay;
int addDays;
int test;
string day;
  
   do
{
test = 0;
showSelections();
cin >> currentDay;
cout << endl;
       if (currentDay = 0)
{
userDay.setDay("Sunday");
}
else if (currentDay = 1)
{
userDay.setDay("Monday");
}
else if (currentDay = 2)
{
userDay.setDay("Tuesday");
}
else if (currentDay = 3)
{
userDay.setDay("Wednesday");
}
else if (currentDay = 4)
{
userDay.setDay("Thursday");
}
else if (currentDay = 5)
{
userDay.setDay("Friday");
}
else if (currentDay = 6)
{
userDay.setDay("Saturday");
}
else if (currentDay = 9)
{
cout << "Exiting...";
return 0;
}
else
{
cout << "Not a valid choice." << endl;
test = -37;
}
}
  
while (test < 0);
userDay.printDay();
cout << endl;
       userDay.showDay(currentDay);
cout << endl;
userDay.nextDay(currentDay);
cout << endl;
userDay.prevDay(currentDay);
cout << endl;
   cout << "Enter the number of days to add: " << endl;
cin >> addDays;
cout << endl;
       userDay.calcDay(currentDay, addDays);
cout << endl;
   cout << endl << endl;
system("pause");
return 0;
}
// Function to display weekday selections.
void showSelections()
{
cout << "*****Please enter a day of the week*****" << endl;
cout << "0 for Sunday" << endl;
cout << "1 for Monday" << endl;
cout << "2 for Tuesday" << endl;
cout << "3 for Wednesday" << endl;
cout << "4 for Thursday" << endl;
cout << "5 for Friday" << endl;
cout << "6 for Saturday" << endl;
cout << "9 to exit" << endl;
    }

implementation program

#include <iostream>
#include <iomanip>
#include "dayType.h"
void dayType::setDay(string newDay)
{
   currentDay = newDay;
}
void dayType::printDay()
{
   cout << "Day chosen is " << currentDay << endl;
}
int dayType::showDay(int& day)
{
   return day;
}
int dayType::nextDay(int day)
{
   day = day++;
   if (day > 6)
       day = day % 7;
           switch (day)
   {
   case 0: cout << "The next day is Sunday";
       break;
   case 1: cout << "The next day is Monday";
       break;
   case 2: cout << "The next day is Tuesday";
       break;
   case 3: cout << "The next day is Wednesday";
       break;
   case 4: cout << "The next day is Thursday";
       break;
   case 5: cout << "The next day is Friday";
       break;
   case 6: cout << "The next day is Saturday";
       break;
   }
   cout << endl;
   return day;
}
  
int dayType::prevDay(int day)
{
   day = day--;
   switch (day)
   {
   case -1: cout << "The previous day is Saturday.";
       break;
       case 0: cout << "The previous day is Saturday.";
       break;
   case 1: cout << "The previous day is Saturday.";
       break;
   case 2: cout << "The previous day is Saturday.";
       break;
   case 3: cout << "The previous day is Saturday.";
       break;
   case 4: cout << "The previous day is Saturday.";
       break;
   case 5: cout << "The previous day is Saturday.";
       break;
   default: cout << "The previous day is Saturday.";
   }
   cout << endl;
   return day;
}
int dayType::calcDay(int addDays, int numDays)
{
   addDays = addDays + numDays;
   if (addDays > 6)
       addDays = addDays % 7;
   switch(addDays)
   {
   case 0: cout << "The calculated day is Sunday.";
       break;
   case 1: cout << "The calculated day is Monday.";
           break;
   case 2: cout << "The calculated day is Tuesday.";
       break;
   case 3: cout << "The calculated day is Wednesday.";
       break;
   case 4: cout << "The calculated day is Thursday.";
       break;
   case 5: cout << "The calculated day is Friday.";
       break;
   case 6: cout << "The calculated day is Saturday.";
       break;
   default: cout << "Not valid choice.";
   }
   cout << endl;
   return addDays;
}

header file addType.h

#ifndef DAY_TYPE_H
#define DAY_TYPE_H
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
/******* Class dayType Specification ********/
class dayType
{
  
private:
string days[7];
string currentDay;
int numDays;
   public:
   void setDay(string newDay);
void printDay() const;
int showDay(int& day);
int nextDay(int day);
int prevDay(int day) const;
int calcDay(int day, int numDays);
               
dayType()
{
days[0] = "Sunday";
days[1] = "Monday";
days[2] = "Tuesday";
days[3] = "Wednesday";
days[4] = "Thursday";
days[5] = "Friday";
days[6] = "Saturday";
currentDay = days[0];
numDays = 0;
};
~dayType();
   
};
#endif

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote