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

来源:互联网 发布:淘宝客服开头语 编辑:程序博客网 时间:2024/05/08 05:37
<span style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15.555556297302246px; line-height: 35px;"><span style="font-size: 15.555556297302246px;">(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数)</span></span><ul style="color: rgb(85, 85, 85); font-family: 'microsoft yahei'; font-size: 15.555556297302246px; line-height: 35px;"><li>add_a_sec()  //增加1秒钟</li><li>add_a_minute() //增加1分钟</li><li>add_an_hour() //增加1小时</li></ul>
#include <iostream>using namespace std;class Time{public:    void set_time();    void show_time();    void add_a_hours(int);    void add_a_minutes(int);    void add_a_seconds(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;}void Time::add_a_seconds(int s){    sec+=s;    if(sec>59)    {        sec=0;        Time::add_a_minutes(1);    }}void Time::add_a_minutes(int m){    minute+=m;    if(minute>59)    {        minute=0;        Time::add_a_hours(1);    }}void Time::add_a_hours(int h){    hour+=h;     if(hour>23)     {         hour=0;     }}int main(){    int tSecond,tMinute,tHour;    Time t1;    t1.set_time();    t1.show_time();    cout<<"调整时间,输入增加的量ss,mm,hh"<<endl;    cin>>tSecond>>tMinute>>tHour;    t1.add_a_seconds(tSecond);    t1.add_a_minutes(tMinute);    t1.add_a_hours(tHour);    t1.show_time();    return 0;}

0 0