
Andy C. answered 09/23/17
Tutor
4.9
(27)
Math/Physics Tutor
#include <iostream>
#include <math.h>
using namespace std;
class Time24
{
private:
int hour;
int minute;
int second;
public:
Time24 (int hr, int min, int sec)
{
hour = abs(hr)%24;
minute = abs(min)%60;
second = abs(sec)%60;
}
int GetHour() { return(hour); }
int GetMinute() { return(minute); }
int GetSecond() { return(second); }
void Display()
{
if (hour<10)
{
std::cout << "0"<< hour;
}
else
{
std::cout << hour ;
}
std::cout << ":";
if (minute < 10)
{
std::cout << "0"<< minute;
}
else
{
std::cout<< minute ;
}
std::cout << ":";
if (second <10)
{
std::cout<< "0" << second << endl;
}
else
{
std::cout << second << endl;
}
}
void Input()
{
int hr, min, sec;
std::cout << " Please input the hour :>";
std::cin >> hour;
std::cout << " Please input the minute :> ";
std::cin >> minute;
std::cout << " Please input the second :>";
std::cin >> second;
hour = abs(hour)%24;
minute = abs(minute)%60;
second = abs(second)%60;
}
}; //class Time24
class Time12
{
private:
int hour;
int minute;
int second;
bool AM_PM_flag;
public:
Time12 (int hr=12, int min=0, int sec=0, bool am_pm=false)
{
hour = abs(hr)%24;
hour %= 12;
if (hour==0) { hour = 12; }
minute = abs(min)%60;
second = abs(sec)%60;
AM_PM_flag = am_pm;
}
Time12() { hour=12; minute=second=0; AM_PM_flag = false; }
int GetHour() { return(hour); }
int GetMinute() { return(minute); }
int GetSecond() { return(second); }
bool Get_AM_PM() { return(AM_PM_flag); }
void Display()
{
if (hour<10)
{
std::cout << "0"<< hour;
}
else
{
std::cout << hour ;
}
std::cout << ":";
if (minute < 10)
{
std::cout << "0"<< minute;
}
else
{
std::cout<< minute ;
}
std::cout << ":";
if (second <10)
{
std::cout<< "0" << second;
}
else
{
std::cout << second;
}
std::cout << " ";
if (AM_PM_flag)
{
std::cout << "PM" << endl;
}
else
{
std::cout <<"AM" << endl;
}
}
void Input()
{
int hr, min, sec;
int iAmPm;
std::cout << " Please input the hour :>";
std::cin >> hour;
std::cout << " Please input the minute :> ";
std::cin >> minute;
std::cout << " Please input the second :>";
std::cin >> second;
hour = abs(hour)%24;
hour %= 12;
if (hour==0) { hour = 12; }
minute = abs(minute)%60;
second = abs(second)%60;
do
{
std:cout << " Input 1 for PM or 0 for AM :>";
std::cin >> iAmPm;
} while ((iAmPm<0) || (iAmPm>1));
AM_PM_flag = (iAmPm == 0) ? false : true;
}
}; //class Time12
Time24 Convert12to24 ( Time12 time12)
{
int hr = time12.GetHour();
int min = time12.GetMinute();
int sec = time12.GetSecond();
bool AmPmFlag = time12.Get_AM_PM();
if (AmPmFlag) { hr += 12; }
Time24 time24Return(hr,min,sec);
return ( time24Return);
}
Time12 Convert24to12 (Time24 time24)
{
bool AmPmFlag = false;
int hr = time24.GetHour();
int min = time24.GetMinute();
int sec = time24.GetSecond();
if (hr > 12)
{
hr -= 12;
AmPmFlag = true;
}
else
{
AmPmFlag = false;
}
Time12 time12Return ( hr, min, sec, AmPmFlag);
return(time12Return);
}
int main( int arc, char * argv[])
{
Time24 myTime24( 15,33,33);
myTime24.Display();
Time24 yourTime24(0,0,0);
yourTime24.Input();
yourTime24.Display();
Time12 myTime12 ( 3,33,33, true);
myTime12.Display();
Time12 yourTime12(12,0,0,false);
yourTime12.Input();
yourTime12.Display();
Time24 time24copy = Convert12to24(yourTime12);
std::cout << "converted time from 12 to 24: >";
time24copy.Display();
Time12 time12Copy = Convert24to12(yourTime24);
std::cout << "converted time from 24 to 12: >";
time12Copy.Display();
}
#include <math.h>
using namespace std;
class Time24
{
private:
int hour;
int minute;
int second;
public:
Time24 (int hr, int min, int sec)
{
hour = abs(hr)%24;
minute = abs(min)%60;
second = abs(sec)%60;
}
int GetHour() { return(hour); }
int GetMinute() { return(minute); }
int GetSecond() { return(second); }
void Display()
{
if (hour<10)
{
std::cout << "0"<< hour;
}
else
{
std::cout << hour ;
}
std::cout << ":";
if (minute < 10)
{
std::cout << "0"<< minute;
}
else
{
std::cout<< minute ;
}
std::cout << ":";
if (second <10)
{
std::cout<< "0" << second << endl;
}
else
{
std::cout << second << endl;
}
}
void Input()
{
int hr, min, sec;
std::cout << " Please input the hour :>";
std::cin >> hour;
std::cout << " Please input the minute :> ";
std::cin >> minute;
std::cout << " Please input the second :>";
std::cin >> second;
hour = abs(hour)%24;
minute = abs(minute)%60;
second = abs(second)%60;
}
}; //class Time24
class Time12
{
private:
int hour;
int minute;
int second;
bool AM_PM_flag;
public:
Time12 (int hr=12, int min=0, int sec=0, bool am_pm=false)
{
hour = abs(hr)%24;
hour %= 12;
if (hour==0) { hour = 12; }
minute = abs(min)%60;
second = abs(sec)%60;
AM_PM_flag = am_pm;
}
Time12() { hour=12; minute=second=0; AM_PM_flag = false; }
int GetHour() { return(hour); }
int GetMinute() { return(minute); }
int GetSecond() { return(second); }
bool Get_AM_PM() { return(AM_PM_flag); }
void Display()
{
if (hour<10)
{
std::cout << "0"<< hour;
}
else
{
std::cout << hour ;
}
std::cout << ":";
if (minute < 10)
{
std::cout << "0"<< minute;
}
else
{
std::cout<< minute ;
}
std::cout << ":";
if (second <10)
{
std::cout<< "0" << second;
}
else
{
std::cout << second;
}
std::cout << " ";
if (AM_PM_flag)
{
std::cout << "PM" << endl;
}
else
{
std::cout <<"AM" << endl;
}
}
void Input()
{
int hr, min, sec;
int iAmPm;
std::cout << " Please input the hour :>";
std::cin >> hour;
std::cout << " Please input the minute :> ";
std::cin >> minute;
std::cout << " Please input the second :>";
std::cin >> second;
hour = abs(hour)%24;
hour %= 12;
if (hour==0) { hour = 12; }
minute = abs(minute)%60;
second = abs(second)%60;
do
{
std:cout << " Input 1 for PM or 0 for AM :>";
std::cin >> iAmPm;
} while ((iAmPm<0) || (iAmPm>1));
AM_PM_flag = (iAmPm == 0) ? false : true;
}
}; //class Time12
Time24 Convert12to24 ( Time12 time12)
{
int hr = time12.GetHour();
int min = time12.GetMinute();
int sec = time12.GetSecond();
bool AmPmFlag = time12.Get_AM_PM();
if (AmPmFlag) { hr += 12; }
Time24 time24Return(hr,min,sec);
return ( time24Return);
}
Time12 Convert24to12 (Time24 time24)
{
bool AmPmFlag = false;
int hr = time24.GetHour();
int min = time24.GetMinute();
int sec = time24.GetSecond();
if (hr > 12)
{
hr -= 12;
AmPmFlag = true;
}
else
{
AmPmFlag = false;
}
Time12 time12Return ( hr, min, sec, AmPmFlag);
return(time12Return);
}
int main( int arc, char * argv[])
{
Time24 myTime24( 15,33,33);
myTime24.Display();
Time24 yourTime24(0,0,0);
yourTime24.Input();
yourTime24.Display();
Time12 myTime12 ( 3,33,33, true);
myTime12.Display();
Time12 yourTime12(12,0,0,false);
yourTime12.Input();
yourTime12.Display();
Time24 time24copy = Convert12to24(yourTime12);
std::cout << "converted time from 12 to 24: >";
time24copy.Display();
Time12 time12Copy = Convert24to12(yourTime24);
std::cout << "converted time from 24 to 12: >";
time12Copy.Display();
}