c++基础:时钟类
2016-06-02 08:19
351 查看
#include <iostream>
using namespace std;
class Time
{
public:
void settime();
void showtime();
void add_a_sec()
{
if(sec==59)
{
sec=0;
add_a_minute();
}
else
sec+=1;
}
void add_a_minute()
{
if(minute==59)
{
minute=0;
add_an_hour();
}
else
minute+=1;
}
void add_an_hour()
{
if(hour==23)
hour=0;
else
hour+=1;
}
private:
bool is_time(int ,int ,int );
int hour;
int minute;
int sec;
};
void Time::settime()
{
char c1,c2;
cout<<"请输入时间(格式h:m:s)";
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::showtime()
{
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 t;
t.settime();
t.showtime();
t.add_a_sec();
t.add_a_minute();
t.add_an_hour();
t.showtime();
return 0;
}
using namespace std;
class Time
{
public:
void settime();
void showtime();
void add_a_sec()
{
if(sec==59)
{
sec=0;
add_a_minute();
}
else
sec+=1;
}
void add_a_minute()
{
if(minute==59)
{
minute=0;
add_an_hour();
}
else
minute+=1;
}
void add_an_hour()
{
if(hour==23)
hour=0;
else
hour+=1;
}
private:
bool is_time(int ,int ,int );
int hour;
int minute;
int sec;
};
void Time::settime()
{
char c1,c2;
cout<<"请输入时间(格式h:m:s)";
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::showtime()
{
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 t;
t.settime();
t.showtime();
t.add_a_sec();
t.add_a_minute();
t.add_an_hour();
t.showtime();
return 0;
}
相关文章推荐
- C++内存管理
- C++类之static
- C语言回顾与再学习-exit and return
- 继承与派生的浅尝
- A log about Reading the memroy of Other Process in C++/WIN API--ReadProcessMemory()
- Prim算法C语言实现
- c++设计模式研究启动篇
- Leetcode_c++:Set Matrix Zeros (073)
- c++第七次上机作业
- CRC原理及其C语言、Java语言实现
- Leetcode_c++:Plus one(066)
- c++ 容器set
- C++ 多线程学习
- C++宽字符串转字符串
- c++的输入和输出
- C++函数模板与类模板实例解析
- C++虚函数与多态
- 简单线程池实现 (C版本)
- leetcode_c++:Minimum Path Sum (064)
- 主席树求静态区间第K大