3週目、時間クラス

2422 ワード

/* Copyright (c) 2013,               
* All rights reserved.
*       :    
*     :2014  3  13 
*      :v1.0
*     : 
*     : 
*     : 
*     : 
*     : 
*     :   
*/
/*         */#include <iostream>
using namespace std;
class Time
{
public:
	void set_time( );
	void add_a_sec( );
	void add_a_minute( );
	void add_a_hour( );
	void show_time( );

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::add_a_sec( )
{
    cout<<"        "<<endl;
    sec=sec+1;
    if(sec>59)
    sec=sec-60;
    minute=minute+1;
    if(minute>59)
    minute=minute-60;
    hour=hour+1;
    if(hour>23)
    hour=0;
}
void Time::add_a_minute( )
{
    cout<<"         "<<endl;
    minute=minute+1;
    if(minute>59)
    {
    minute=minute-60;
    hour=hour+1;
    }
    if(hour>23)
    hour=0;
}
void Time::add_a_hour( )
{
    cout<<"         "<<endl;
    hour=hour+1;
    if(hour>23)
    {
        hour=0;
    }
}
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( );
	t1.add_a_sec( );
	t1.show_time( );
	t1.set_time( );
	t1.add_a_minute( );
	t1.show_time( );
	t1.set_time( );
	t1.add_a_hour( );
	t1.show_time( );
	return 0;
}/*  :    ,    */