项目三 用“类”解决关于时间的问题

来源:互联网 发布:域名信息备案管理系统 编辑:程序博客网 时间:2024/06/13 00:30
1)在类内增加下列成员函数(将是内置成员函数),要求在类内声明,类外定义。
  在main()数中,调用新增加的成员函数,以测试扩充后的功能。
  • add_seconds(int) //增加n秒钟
  • add_minutes(int) //增加n分钟
  • add_hours(int) //增加n小时
代码如下:
/**copyright (c) 2015,*All rights reserved*The Author:王争取*Finished Time:2015.3.15*/#include <iostream>using namespace std;class time{public:    void set_time();    void show_time();    void add_sec();    void add_minute();    void add_hour();private:    bool is_time(int,int,int);    int hour;    int minute;    int second;};void time::set_time(){    char c1,c2;    cout<<"请输入时间格式(hh:mm:ss)"<<endl;    while(1)    {        cin>>hour>>c1>>minute>>c2>>second;        if(c1!=':'||c2!=':')            cout<<"格式不正确,请重新输入"<<endl;        else if(!is_time(hour,minute,second))            cout<<"时间非法,请重新输入"<<endl;        else break;    }}void time::show_time(){    cout<<"the time is:";    cout<<hour<<":"<<minute<<":"<<second<<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;    else return true;}inline void time::add_sec(){    int n=0;    cout<<"请输入要增加的秒数"<<endl;    do    {        cin>>n;        if((second+n)>60)            cout<<"输入的数据非法,请重新输入"<<endl;    }    while((second+n)>60);    second+=n;}inline void time::add_minute(){    int n=0;    cout<<"请输入要增加的分钟数"<<endl;    do        {            cin>>n;            if((minute+n)>60)                cout<<"输入的数据非法,请重新输入"<<endl;        }    while((minute+n)>60);    minute+=n;}inline void time::add_hour(){    int n=0;    cout<<"请输入要增加小时数"<<endl;    do    {        cin>>n;        if((hour+n)>24)            cout<<"输入的数据非法,请重新输入"<<endl;    }    while((hour+n)>24);    hour+=n;}int main(){    time t1;    t1.set_time();    t1.add_sec();    t1.add_minute();    t1.add_hour();    t1.show_time();    return 0;}
测试图如下:


0 0