// file CClock03.cpp
// date 09/26/2007
// authors AOU
#include <iostream>
#include <ctime>
using namespace std;
int const TEST_COUNT = 20;
class CClock
{
private:
int hr;
int min;
int sec;
public:
CClock(void); // CClock myClock;
void display(void); // myClock.display();
CClock(int h); // CClock myClock(5);
CClock(int h, int m); // CClock myClock(5,1);
CClock(int h, int m, int s); // CClock myClock(5,1,3);
CClock(char ch); // CClock myClock('r');
bool isValid(void);
};
void driver_ConstructorRandom(void);
void main(void)
{
srand((unsigned int)time(NULL));
CClock myClock;
myClock.display();
{
CClock time2(4);
time2.display();
}
{
CClock time2(4,6);
time2.display();
}
{
CClock time2(-44,-66,188);
time2.display();
}
driver_ConstructorRandom();
}
void driver_ConstructorRandom(void)
{
for (int i=1; i<=TEST_COUNT; i++)
{
CClock time2('r');
time2.display();
}
}
CClock::CClock(char ch)
{
//set a random hour
hr = rand()%24;
//set a random value for minute
min = rand()%60;
//set a random value for second
sec = rand()%60;
}
CClock::CClock(int h, int m, int s)
{
if (h >= 0 && h <= 23)
hr = h;
else
hr = 0;
if (m >= 0 && m <= 59)
min = m;
else
min = 0;
if (s >= 0 && s <= 59)
sec = s;
else
sec = 0;
}
CClock::CClock(int h, int m)
{
if (h >= 0 && h <= 23)
hr = h;
else
hr = 0;
if (m >= 0 && m <= 59)
min = m;
else
min = 0;
sec = 0;
}
CClock::CClock(int h)
{
if (h >= 0 && h <= 23)
hr = h;
else
hr = 0;
min = 0;
sec = 0;
}
CClock::CClock(void)
{
hr = min = sec = 0;
}
void CClock::display(void)
{
if (hr<10) cout << '0';
cout << hr;
cout << ':';
if (min<10) cout << '0';
cout << min ;
cout << ':';
if (sec<10) cout << '0';
cout << sec;
cout << endl;
}
|