15第二周项目三——时间类(总)

来源:互联网 发布:mac note 编辑:程序博客网 时间:2024/05/19 23:57

/*
 * Copyright (c) 2015, 烟台大学计算机学院
 * All rights reserved.
 * 文件名称:test.cpp
 * 作    者:李晓凯
 * 完成日期:2015年 3 月 18 日
 * 版 本 号:v1.0
 *
 * 问题描述:

要求:
(1)请在原类基础上,在类内增加下列成员函数(将是内置成员函数)

•add_a_sec()  //增加1秒钟
•add_a_minute() //增加1分钟
•add_an_hour() //增加1小时
在main()数中,调用新增加的成员函数,以测试扩充后的功能。

(2)在增加三个成员函数,要求在类内声明,类外定义。

•add_sec()  //增加s秒钟
•add_minute() //增加m分钟
•add_hour() //增加h小时

 * 输入描述:输入时间时、分、秒。
 * 程序输出:分别输出增加1秒、1分、1小时后的时间

 */

#include <iostream>using namespace std;class Time{public:    void set_time( );    void show_time( );    void add_a_sec();    void add_a_minute();    void add_a_hour();    void add_secs(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)"<<endl;    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;}void Time::add_a_sec(){    sec++;    if(sec>59)    {        sec=0;        add_a_minute();    }}void Time::add_a_minute(){    minute++;    if(minute>59)    {        minute=0;        add_a_hour();    }}void Time::add_a_hour(){    hour++;    if(hour>23)        hour=0;}void Time::add_secs(int s){    sec+=s;    if(sec>59)    {        add_minutes(sec/60);        sec%=60;    }}void Time::add_minutes(int m){    minute+=m;    if(minute>59)    {        add_hours(minute/60);        minute%=60;    }}void Time::add_hours(int h){    hour+=h;    if(hour>23)        hour%=24;}int main( ){    Time t1;    Time &t2=t1;    int s,m,h;    t1.set_time( );    cout<<"现在的时间是:"<<endl;    t1.show_time( );    t1.add_a_sec();    cout<<"增加1秒后的时间是:"<<endl;    t1.show_time();    t1.add_a_minute();    cout<<"增加1分钟后的时间是:"<<endl;    t1.show_time();    t1.add_a_hour();    cout<<"增加1小时后的时间是:"<<endl;    t1.show_time();    cout<<"请输入增加的秒数:"<<endl;    cin>>s;    t1.add_secs(s);    cout<<"此时的时间是:"<<endl;    t1.show_time();    cout<<"请输入增加的分钟数:"<<endl;    cin>>m;    t1.add_minutes(m);    cout<<"此时的时间是:"<<endl;    t1.show_time();    cout<<"请输入增加的小时数:"<<endl;    cin>>h;    t1.add_hours(h);    cout<<"此时的时间是:"<<endl;    t1.show_time();    return 0;}


0 0
原创粉丝点击