第五周项目3--时间类(1)

来源:互联网 发布:海康网络摄像机初始ip 编辑:程序博客网 时间:2024/05/21 07:07

 
 
问题及代码:


 

/*  *copyright (t) 2004,烟台大学计算机学院  *All rights reserved.  *文件名称:test.cpp  *作者:张晴晴  *完成日期:2016年3月31日 *版本号:v1.0 *问题描述:设计一个显示时间的程序,在原类的基础上再类内增加成员函数,完成再输入的时间基础上,在秒、分、时上加1。*输入描述:时间。  *程序输出:处理后的时间。  */  #include<iostream>using namespace std;class time{public:    void set_time();    void show_time();    inline void add_a_sec();    inline void add_a_mintue();    inline void add_an_hour();private:    bool is_time(int ,int,int);    int hour;    int minute;    int sec;    };   inline void time::add_a_sec()    {        if(sec==59)           {        sec=0;        minute+=1;           }        else if(sec<59)        sec+=1;    }   inline void time::add_a_mintue()    {        if(minute==59)           {         minute=0;         hour+=1;           }           else if(minute==60)              {         minute=1;         hour+=1;           }          else  if(minute<59)        minute+=1;    }    inline void time::add_an_hour()    {         if(hour==23)            hour=0;            else if(hour==24)                hour=1;        else if(hour<24)        hour+=1;    } 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;}int main()        {        time t1;        t1.set_time();        t1.add_a_sec();        t1.add_a_mintue();        t1.add_an_hour();        t1.show_time();        return 0;        }



 
运行结果:


 
 
 
 
 
知识点总结:考虑增加后超出值范围的情况,注意调整秒数。
 
 
 
学习心得:注意函数的调用顺序,showtime放在最后才能输出处理后的时间。注意类里面的内联函数需要加inline。

0 0
原创粉丝点击