3-2-完整时间类

来源:互联网 发布:淘宝排名规则天猫 编辑:程序博客网 时间:2024/03/29 14:28
01./*  02.* 程序的版权和版本声明部分:  03.* Copyright (c) 2011, 烟台大学计算机学院  04.* All rights reserved.  05.* 文件名称:test.cpp  06.* 作    者:刘芳07.* 完成日期:201 4年03 月23  日  08.* 版 本 号:v1.0  09.* 对任务及求解方法的描述部分: 10.* 输入描述:无  11.* 问题描述: 12.* 程序输出: 13.* 问题分析:略 14.* 算法设计:略  15.*/ 
#include <iostream>using namespace std;class Time{private:    bool is_time(int, int, int);   //这个成员函数设置为私有的,是合适的,请品味    int hour;    int minute;    int sec;public:    void set_time( );    void show_time( );    void add_a_sec()    {        if(sec<59)            sec++;        else if(sec==59&&minute<59)        {            sec=00;            minute++;        }        else if(sec==59&&minute==59&&hour<23)        {            sec=00;            minute=00;            hour++;        }        else if(sec==59&&minute==59&&hour==23)        {            sec=00;            minute=00;            hour=00;        }    }    void add_hours(int);    void add_minutes(int);    void add_seconds(int);};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;}void Time::add_hours(int n){    int m,i;    i=hour+n;    if(i<=23)        hour+=n;    else if((i==24))        hour=0;    else if(i>24)    {        m=i%24;        hour=m;    }}void Time::add_minutes(int a){    int i;    i=minute+a;    if(i<=59)    minute=i;    else if(i>59)    {       add_hours((i/60));       minute=(i%60);    }}void Time::add_seconds(int b){    int i;    i=sec+b;    if(i<=59)    sec=i;    else if(i>59)    {        add_minutes(i/60);        sec=(i%60);    }}    int main( )    {        int a;        Time t1;        t1.set_time( );        t1.show_time( );        t1.add_a_sec();        cout<<"增加一秒后:";        t1.show_time( );        cout<<"请输入增加小时数a:";        cin>>a;        t1.add_hours(a);        t1.show_time( );        cout<<"请输入增加分钟数a:";        cin>>a;        t1.add_minutes(a);        t1.show_time();        cout<<"请输入增加秒数a:";        cin>>a;        t1.add_seconds(a);        t1.show_time();        return 0;    }


   

0 0