第5周项目3(2)时间类

来源:互联网 发布:ubuntu终端用户名修改 编辑:程序博客网 时间:2024/06/04 19:35

/*
All rights reserced.
文件名称:main.cpp
作者:孙亚茹
完成日期:2016.4.7

问题描述:增加N秒钟,增加N分钟,增加N小时。

*/

 

#include <iostream>#include<cmath>using namespace std;class Time{public:    void set_time();    void show_time();  void add_seconds(int x);    void add_minutes(int y);    void add_hours(int z);private:    bool is_time(int,int,int);    int hour;    int minute;    int sec;};void Time::add_seconds(int x)    {        sec+=x;        if(sec>=60)        {        minute=sec/60;        sec=sec%60;        }    }void Time::add_minutes(int y) {     minute=minute+y;     if(minute>=60)    {        hour=minute/60;        minute=minute%60;    }    }void  Time::add_hours(int z)      {       hour=hour+z;        if(hour>=24)        {             hour=hour%24;        }      }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(){    int x,y,z;    cout<<"您需要增加的秒数,分钟数,小时数分别是:"<<endl;    cin>>x>>y>>z;    Time t1;    t1.set_time();    t1.add_seconds(x);    t1.add_minutes(y);    t1.add_hours(z);    t1.show_time();    return 0;}



0 0
原创粉丝点击