Learn C++ step by step(2)

类别:VC语言 点击:0 评论:0 推荐:

// 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);
}
   

本文地址:http://com.8s8s.com/it/it1471.htm