时间类

来源:互联网 发布:卡盟排行榜源码 编辑:程序博客网 时间:2024/05/16 01:53
/** 程序的版权和版本声明部分* Copyright (c)2014, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: fibnacci.cpp* 作    者:高古尊* 完成日期:2014年3月17日* 版本号: v1.0** 输入描述:* 问题描述:* 程序输出:* 问题分析:*/#include <iostream>using namespace std;class Time{public:    inline void add_a_sec();//增加 1 秒钟    inline void add_a_minute() ;//增加 1 分钟    inline void add_an_hour() ;//增加 1 小时    void add_seconds(int); //增加 n 秒钟    void add_minutes(int); //增加 n 分钟    void add_hours(int) ;//增加 n 小时    void set_time( );    void show_time( );private:    bool is_time(int, int, int);//这个成员函数设置为私有的,是合适的,请品味    int hour;    int minute;    int sec;};void Time::set_time( ){    int t;    char c1,c2;    cout<<"请输入时间(格式 hh:mm:ss)";    while(1)    {        cin>>hour>>c1>>minute>>c2>>sec;        if(sec>=60)    {        t=sec-60;    }    else    {        t=sec;    }    Time::add_seconds(t) ;        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.show_time( );    cout<<"时 分 秒都增加1后:\n";    t1.add_a_sec();    t1.add_a_minute();    t1.add_an_hour();    t1.show_time( );    return 0;}inline void Time::add_a_sec()//增加 1 秒钟{    sec+=1;    if(sec>=60)    {        sec-=60;        Time::add_a_minute();    }    return;}inline void Time::add_a_minute() //增加 1 分钟{    minute+=1;    if(minute>=60)    {        minute-=60;        Time::add_an_hour();    }    return;}inline void Time::add_an_hour() //增加 1 小时{    hour+=1;    if(hour>=24)    {        hour-=24;    }    return;}void Time::add_seconds(int n) //增加 n 秒钟{    int t=0;    sec+=n;    while(1)    {        if(sec>=60)        {            t++;            sec-=60;            minute+=1;        }        else            break;    }    Time::add_minutes(t);    return;}void Time::add_minutes(int n) //增加 n 分钟{    int t=0;    minute+=n;    while(1)    {        if(minute>=60)        {            t++;            minute-=60;            hour+=1;        }        else            break;    }    Time::add_hours(t);    return;}void Time::add_hours(int n) //增加 n 小时{    hour+=n;    while(1)    {        if(hour>=24)        {            hour-=24;        }        else            break;    }    return;}

0 0
原创粉丝点击