标签:style blog class code c http
定义一个时间类
class Time//时间类
{
public:
void set_time( );//设置时间
void show_time( );//显示时间
int add_a_sec();//增加1秒
int add_a_minute();//增加1分钟
int add_a_hour();//增加1个小时
int add_seconds(int n);//增加n秒钟
int add_minutes(int n);//增加n分钟
int add_hours(int n);//增加n小时
private:
bool is_time(int, int, int);//判断时间是否正确
int hour;//时
int minute;//分
int sec;//秒
};
函数名:set_time()
函数功能:设置时间
//设置时间
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;
}
}
}函数名:show_time()
函数功能:显示时间
//输出时间
void Time::show_time( )
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
函数名:is_time
函数功能:判断时间格式是否正确
//判断时间格式是否正确
bool Time::is_time(int h,int m, int s)
{
if (h<=0 ||h>23 || m<=0 ||m>59 || s<0 ||s>59)
{
return false;
}
return true;
}
函数名:add_a_sec()
函数功能:增加1秒
//增加1秒钟
int Time::add_a_sec()
{
sec++;
if(60 == sec)
{
sec = 0;//秒钟清零
add_a_minute();//分钟增加1
}
return sec;
}函数名:add_a_minute()
函数功能:增加1分钟
//增加1分钟
int Time::add_a_minute()
{
minute++;
if(60 == minute)
{
minute = 0;//分钟清零
add_a_hour();//时钟加1
}
return minute;
}
函数名:add_a_hour()
函数功能:增加1小时
//增加1个小时
int Time::add_a_hour()
{
hour++;
if(24 == hour)
{
hour = 0;//时钟清零
}
return hour;
}函数名:add_seconds(int n)
函数功能:增加n秒
//增加n秒
int Time::add_seconds(int n)
{
sec = sec + n;
if(sec>60)
{
int m = sec / 60;//计算多出的分钟
int s = sec % 60;//计算多出的秒钟
add_minutes(m);//增加m分钟
sec = s;
}
return sec;
}函数名:add_minutse(int n)
函数功能:增加n分钟
//增加n分钟
int Time::add_minutes(int n)
{
minute = minute + n;
if(minute>60)
{
int h = minute / 60;//计算增加时间后的小时
int m = minute % 60;//计算增加时间后的分钟
add_hours(h);//增加h个小时
minute = m;
}
return minute;
}函数名:add_hours(int n)
函数功能:增加n小时
//增加n小时
int Time::add_hours(int n)
{
hour = hour + n;
if(hour>24)
{
int h = hour % 24;
hour = h;
}
return hour;
}
程序的全部代码:
#include <iostream>
using namespace std;
class Time//时间类
{
public:
void set_time( );//设置时间
void show_time( );//显示时间
int add_a_sec();//增加1秒
int add_a_minute();//增加1分钟
int add_a_hour();//增加1个小时
int add_seconds(int n);//增加n秒钟
int add_minutes(int n);//增加n分钟
int add_hours(int n);//增加n小时
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( )
{
cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
//判断时间格式是否正确
bool Time::is_time(int h,int m, int s)
{
if (h<=0 ||h>23 || m<=0 ||m>59 || s<0 ||s>59)
{
return false;
}
return true;
}
//增加1秒钟
int Time::add_a_sec()
{
sec++;
if(60 == sec)
{
sec = 0;//秒钟清零
add_a_minute();//分钟增加1
}
return sec;
}
//增加1分钟
int Time::add_a_minute()
{
minute++;
if(60 == minute)
{
minute = 0;//分钟清零
add_a_hour();//时钟加1
}
return minute;
}
//增加1个小时
int Time::add_a_hour()
{
hour++;
if(24 == hour)
{
hour = 0;//时钟清零
}
return hour;
}
//增加n秒
int Time::add_seconds(int n)
{
sec = sec + n;
if(sec>60)
{
int m = sec / 60;//计算多出的分钟
int s = sec % 60;//计算多出的秒钟
add_minutes(m);//增加m分钟
sec = s;
}
return sec;
}
//增加n分钟
int Time::add_minutes(int n)
{
minute = minute + n;
if(minute>60)
{
int h = minute / 60;//计算增加时间后的小时
int m = minute % 60;//计算增加时间后的分钟
add_hours(h);//增加h个小时
minute = m;
}
return minute;
}
//增加n小时
int Time::add_hours(int n)
{
hour = hour + n;
if(hour>24)
{
int h = hour % 24;
hour = h;
}
return hour;
}
int main( )
{
Time t1;
t1.set_time( );//设置一个时间
cout<<"显示设置的时间:";
t1.show_time();
cout<<"增加1秒后的时间:";
t1.add_a_sec();
t1.show_time();
cout<<"增加1分钟后的时间:";
t1.add_a_minute();
t1.show_time();
cout<<"增加1小时后的时间:";
t1.add_a_hour();
t1.show_time();
cout<<"增加60秒后的时间:";
t1.add_seconds(60);
t1.show_time();
cout<<"增加40分钟后的时间:";
t1.add_minutes(40);
t1.show_time();
cout<<"增加10小时后的时间:";
t1.add_hours(10);
t1.show_time();
return 0;
}
执行结果:
标签:style blog class code c http
原文地址:http://blog.csdn.net/u010105970/article/details/25993061