/*
*Corpyright (c)2013,烟台大学计算机学院
*All right reseved.
*作者:z张梦佳
*完成日期:2014年3月11日
*版本号:v1.0
*输入描述:
*问题描述:输入秒数n,输出n秒后的时间!
*程序输出:
*问题分析:
*算法设计:
*/
#include <iostream>
using namespace std;
class time
{
public:
void set_time();
void show_time();
void add_sec(int);
void add_sec1()
{
int h=0;
sec=1+sec;
for(int i=1;sec>60;i++,sec=sec-60)
{
h=i;
}
minute=minute+h;
h=0;
for(int i=1;minute>60;i++)
{
h=i;
minute=minute-60;
}
hour=hour+h;
h=0;
for(int i=1;hour>24;i++)
{
h=i;
hour=hour-24;
}
if(h>0)
{
cout<<"这是第"<<h+1<<"天的"<<endl;
}
show_time();
}
private:
bool is_time(int,int,int);
int hour;
int minute;
int sec;
};
void time::add_sec(int m)
{
int h=0;
sec=m+sec;
for(int i=1;sec>60;i++,sec=sec-60)
{
h=i;
}
minute=minute+h;
h=0;
for(int i=1;minute>60;i++)
{
h=i;
minute=minute-60;
}
hour=hour+h;
h=0;
for(int i=1;hour>24;i++)
{
h=i;
hour=hour-24;
}
if(h>0)
{
cout<<"这是第"<<h+1<<"天的"<<endl;
}
}
void time::set_time()
{
char c1,c2;
cout<<"请输入时间:格式hh::mm::ss"<<endl;
while(1)
{
cin>>hour>>c1>>minute>>c2>>sec;
if(c1!=':'||c2!=':')
cout<<"格式错误";
else if(!is_time(hour,minute,sec))
cout<<"时间非法";
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;
}
int main()
{
int m;
time t1;
t1.set_time();
t1.show_time();
t1.add_sec1();
cout<<"请输入秒数!"<<endl;
cin>>m;
t1.add_sec(m);
t1.show_time();
return 0;
}
感悟
只做了关于秒的;可是加n的包括加1啊,为什么老师要求都做。。。。。。。