第2周项目3-时间类

来源:互联网 发布:网络上的芙蓉姐姐是谁 编辑:程序博客网 时间:2024/05/22 01:40

问题及代码:

/* *Copyright(c)2014,烟台大学计算机学院 *Allrights reserved. *文件名称:MADE92.cpp *作    者:孙化龙 *完成日期:2015年3月18日 *版 本 号:v1.0 * *问题描述:(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数)•add_a_sec()  //增加1秒钟•add_a_minute() //增加1分钟•add_an_hour() //增加1小时  在main()数中,调用新增加的成员函数,以测试扩充后的功能。(2)再增加三个成员函数,要求在类内声明,类外定义。•add_seconds(int) //增加n秒钟•add_minutes(int) //增加n分钟•add_hours(int) //增加n小时提示:•要考虑增加后超出取值范围的情形;•增加n秒后,秒数可能会超过60,调整秒数,并可以调用增加分钟数的成员函数,使时间合法;同理,增加分钟数也有类似问题。*/#include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_a_sec( )    {        sec++;    }    void add_a_minute( )    {        minute++;    }    void add_an_hour( )    {        hour++;    }    void add_seconds(int);    void add_minutes(int);    void add_hours(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( ){    while(sec>60)          {              sec-=60;              minute++;          }    while(minute>60)          {              minute-=60;              hour++;          }    while(hour>24)          {              hour-=24;          }    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_seconds(int n){    sec+=n;}void Time::add_minutes(int n){    minute+=n;}void Time::add_hours(int n){    hour+=n;}int main( ){    Time t1;    t1.set_time( );    t1.show_time( );    t1.add_a_sec();    t1.add_hours(3);    cout<<"修改后时间为:";    t1.show_time();    return 0;}


 

运行结果:

0 0
原创粉丝点击