第二周项目三——时间类(2)

来源:互联网 发布:淘宝店保证金怎么退回 编辑:程序博客网 时间:2024/05/29 12:30
#include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    inline void add_a_sec();    inline void add_a_minute();    inline void add_an_hour();    void add_seconds(int);    void add_minute(int);    void add_hour(int);private:    bool is_time(int, int, int);   //这个成员函数设置为私有的,是合适的,请品味    int hour;    int minute;    int sec;};void Time::set_time( ){    char c1,c2;    cout<<"请输入时间(格式hh:mm:ss)";    while(1)    {    cin>>hour>>c1>>minute>>c2>>sec;        if(c1!=':'||c2!=':')            cout<<"格式不正确,请重新输入"<<endl;        else if (!is_time(hour,minute,sec))            cout<<"时间非法,请重新输入"<<endl;        else            break;    }}void Time::show_time( ){    cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::is_time(int h,int m, int s){    if (h<0 ||h>24 || m<0 ||m>60 || s<0 ||s>60)        return false;    return true;}inline void Time::add_a_sec(){    sec++;    if(sec>59)    {        sec=0;        add_a_minute();    }}inline void Time::add_a_minute(){    minute++;    if(minute>59)    {        minute=0;        add_an_hour();    }}inline void Time::add_an_hour(){   hour++;   if(hour>23)    hour=0;} void Time::add_seconds(int n){     sec+=n;     if(sec>59)     {         sec=0;         add_a_minute();     }}void Time::add_minute(int n){    minute+=n;    if(minute>59)    {        minute=0;        add_an_hour();    }}void Time::add_hour(int n){   hour+=n;   if(hour>23)    hour=0;}int main( ){    Time t1;    int n1,n2,n3;    t1.set_time( );    t1.show_time( );    cout<<"增加n秒"<<endl;    cin>>n1;    cout<<"增加"<<n1<<"秒"<<endl;    cout<<"增加n秒后的时间:"<<endl;    t1.add_seconds(n1);    t1.show_time( );    cout<<"增加n分钟"<<endl;    cin>>n2;    cout<<"增加"<<n2<<"分钟"<<endl;    cout<<"增加n分钟后的时间:"<<endl;    t1.add_minute(n2);    t1.show_time( );    cout<<"增加n小时"<<endl;    cin>>n3;    cout<<"增加"<<n3<<"小时"<<endl;    cout<<"增加n小时后的时间:"<<endl;    t1.add_hour(n3);    t1.show_time();    return 0;}

运行结果:


学习总结:

各个函数轮着用,虽然有点小迷糊,但好在最后造出来了。

0 0
原创粉丝点击