// using Dev C++ under WinXP
#include <iostream> #include <cstdlib>
using namespace std; //standard c++ style about namespace
//define ADT Time
class Time { public: Time(); //default constructor void setTime(int,int,int);//set time for hours,minutes,seconds void printMilitary(void);//print time using army's style void printStandard(void);//print time using standart style private:
int hour; //0-23 int minute;//0-59 int second;//0-59 };
//constructor Time() initionalize every variable to 0 Time::Time(void) { hour=minute=second=0; }
//set time void Time::setTime(int h,int m,int s) { hour=(h>=0&&h<24)?h:0; minute=(m>=0&&m<=59)?m:0; second=(s>=0&&s<=59)?s:0; }
//print using army's style void Time::printMilitary(void) { cout<<(hour<10?"0":"")<<hour<<":" <<(minute<10?"0":"")<<minute<<":" <<(second<10?"0":"")<<second<<endl; }
//print using standard style void Time::printStandard(void) { cout<<((hour==0||hour==12)?12:hour%12)<<":" <<(minute<10?"0":"")<<minute<<":" <<(second<10?"0":"")<<second <<(hour<12?"AM":"PM")<<endl; } //testing for simple class Time
int main(void) { Time t; cout<<"The initial military time is:"; t.printMilitary(); cout<<"\nThe initial standard time is:"; t.printStandard(); t.setTime(13,27,6); cout<<"\n\nMilitary time after set time is:"; t.printMilitary(); cout<<"\n\nStandard time after set time is:"; t.printStandard(); t.setTime(99,99,99); cout<<"\n\nAfter attempting invalid settings:\n" <<"Military time is:"; t.printMilitary(); cout<<"Standard time is:"; t.printStandard(); cout<<endl; system("pause"); return(0); } 
|