_today_初识class(类),写了一个时间的类
来源:互联网 发布:用友网络千股千评 编辑:程序博客网 时间:2024/06/01 14:54
#include <iostream>
using namespace std;
enum Statue{am,pm,_hour_mode,_minute_mode,_second_mode};
class time
{
public:
/*初始化*/
void _set_time_value(int _hour,int _minute,int _second);
/*把秒转化为标准时间格式*/
void _chang_second_value_to_time_std(int _second_value);
/*获得时间所对应的秒数*/
int _get_total_second();
/*获得时间的小时数*/
int _get_hour();
/*获得时间的分钟数*/
int _get_minute();
/*获得时间的秒数*/
int _get_second();
/*重载+=*/
void operator+=(time _t);
/*重载++*/
void operator++(int _option);
/*输出*/
void _output();
private:
int hour;
int minute;
int second;
int state;
};
/*_hour,_minute,_second均要大于*/
void time::_set_time_value(int _hour,int _minute,int _second)
{
_chang_second_value_to_time_std(_hour*3600+_minute*60+_second);
}
/*_second_value大于*/
void time::_chang_second_value_to_time_std(int _second_value)
{
this->hour=_second_value/3600;
_second_value%=3600;
this->minute=_second_value/60;
_second_value%=60;
this->second=_second_value;
if(hour>=12) {
state=pm;
if(hour>12) hour-=12;
}
else state=am;
}
int time::_get_total_second()
{
return hour*3600+minute*60+second;
}
int time::_get_hour()
{
return hour;
}
int time::_get_minute()
{
return minute;
}
int time::_get_second()
{
return second;
}
void time::operator+=(time _t)
{
second+=_t.second;
if(second>=60)
second%=60,minute++;
if(second<0)
second+=60,minute--;
minute+=_t.minute;
if(minute>=60)
minute%=60,hour++;
if(minute<0)
minute+=60,hour--;
hour+=_t.hour;
hour+=24;
hour%=24;
if(hour>=12)
{
if(hour>12) hour-=12;
state=pm;
}
else state=am;
}
void time::operator++(int _option)
{
if(_option==_hour_mode)
{
hour++;
hour%=24;
if(hour>=12)
{
if(hour>12) hour-=12;
state=pm;
}
else state=am;
return;
}
if(_option==_minute_mode)
{
minute++;
if(minute>=60)
minute%=60,hour++;
hour%=24;
if(hour>=12)
{
if(hour>12) hour-=12;
state=pm;
}
else state=am;
return;
}
if(_option==_second_mode)
{
second++;
if(second>=60)
second%=60,minute++;
if(minute>=60)
minute%=60,hour++;
hour%=24;
if(hour>=12)
{
if(hour>12) hour-=12;
state=pm;
}
else state=am;
return;
}
}
void time::_output()
{
printf("%2.2d:%2.2d:%2.2d ",hour,minute,second);
if(state==am) cout<<"am"<<endl;
else cout<<"pm"<<endl;
}
int main()
{ time t;
int i;
t._set_time_value(10,62,62);
for(i=0;i<=3600;i++)
t._output(),t.operator++(_second_mode);
return 0;
}
- _today_初识class(类),写了一个时间的类
- 一个时间处理的类
- JAVA 初识Class类
- Linux C++的一个时间打印工具类
- 整理一个时间的操作类(android)
- 设计一个时间类Time
- C#自定义一个时间类
- C++定义一个时间计时类
- Netty写一个时间服务器
- 今天犯了一个时间查询上的错误
- Class 类的学习了了解
- ASP写的链表Class,不太实用,就当练习写Class了。
- Class.forName详解(写的非常好 学习了!)
- 为一个时间类增加功能(1)
- 为一个时间类增加功能(2)
- 设计一个时间类Time, 包括时,分,秒等私有数据成员。要求实现时间的基本运算,一个时间加上另一个时间。。
- Java写了main()方法运行时在类 class 中找不到 main 方法
- 一个时间延迟的框架
- 冒泡排序
- _T()是什么 东东
- 软件开发,该用二层还是三层呢?
- WINCE应用层设计经验总结-关于程序启动LOGO显示问题
- 远程连接SQL Server 2005数据库
- _today_初识class(类),写了一个时间的类
- 解决ajax.net 1.0中文乱码问题!
- Silverlight2的单元测试——基础
- Ext2.0 form使用实例
- CDialogImpl Class
- 我的首篇文章
- RQ_6_金明的预算方案
- 工作7年了,我为何屡战屡败
- Sun将用Java社群来推广MySQL