项目3 时间类

来源:互联网 发布:iphone 163 smpt 端口 编辑:程序博客网 时间:2024/05/16 01:20
#include <iostream>using namespace std;class Time{public:    void settime();    void showtime();    void addasec();    void addaminute();    void addahour();    void addseconds(int);    void addhours(int);    void addminutes(int);private:    bool istime(int ,int ,int );    int hour;    int minute;    int sec;};void Time::settime(){    char c1,c2;    cout<<"请输入时间(格式hh:mm:ss)";    while(1)    {        cin>>hour>>c1>>minute>>c2>>sec;        if(c1!=':'||c2!=':')            cout<<"格式输入不正确"<<endl;         else if(!istime(hour,minute,sec))            cout<<"时间非法,请重新输入"<<endl;         else            break;    }}void Time::showtime(){    cout<<hour<<":"<<minute<<":"<<sec<<endl;}bool Time::istime(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::addasec(){    sec++;   if(sec==60)   {       minute++;       sec=0;       if(minute==60)       {           hour++;           minute=0;           if(hour>24)           {               hour=hour%24;           }       }   }}inline void Time::addaminute(){    minute++;       if(minute==60)       {           hour++;           minute=0;           if(hour>24)           {               hour=hour%24;           }       }}inline void Time::addahour(){    hour++;    if(hour>24){hour=hour%24;}}void Time::addseconds(int n){    sec=sec+n;    if(sec>59)    {        minute=(sec/60)+minute;        sec=sec%60;        if(minute>59)        {            int h;            h=minute/60;            minute=minute%60;            hour=hour+h;            if(hour>24)            {                hour=hour%24;            }        }    }}void Time::addminutes(int n){    minute=minute+n;    if(minute>59)    {        int h;        h=minute/60;        minute=minute%60;        hour=hour+h;        if(hour>24)        {            hour=hour%24;        }    }}void Time::addhours(int n){    hour=hour+n;    if(hour>24)    {        hour=hour%24;    }}int main(){    Time t1;    t1.settime();    t1.showtime();    t1.addahour();    t1.showtime();    t1.addaminute();    t1.showtime();    t1.addasec();    t1.showtime();    t1.addseconds(5);    t1.showtime();    t1.addminutes(4);    t1.showtime();    t1.addhours(5);    t1.showtime();    return 0;}



运行结果:

知识点总结:

学习心得:

0 0
原创粉丝点击