*烟台大学计算机学院学生
*All right reserved.
*文件名称*烟台大学计算机学院学生
*All right reserved.
*文件名称:用“类”玩时间
*作者:何新新
*完成日期:2013年3月11日
*版本号:
*对任务及求解方法的描述部分:用“类”玩时间
*我的程序:
#include <iostream>
using namespace std;
class Time
{
private:
bool is_time(int ,int ,int);
int hour;
int minute;
int second;
public:
void set_time();
void show_time();
void add_seconds(Time );
void add_minutes(Time );
void add_hours(Time );
};
void Time::set_time()
{
char c1,c2;
cout<<"请输入时间的格式为(hh:jj:cc)"<<endl;
while(1)
{
cin>>hour>>c1>>minute>>c2>>second;
if(c1!=':'||c2!=':')
cout<<"格式不正确,请重新输入"<<endl;
else if(is_time(hour,minute,second)==false)
cout<<"时间非法,请重新输入"<<endl;
else
break;
}
}
void Time::show_time()
{
cout<<"时间是"<<hour<<":"<<minute<<":"<<second<<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 true;
else
return false;
}
int main()
{
Time t;
t.set_time();
t.show_time();
int n;
cout<<"1 增加n秒后的时间"<<endl;
cout<<"2 增加n分钟后的时间"<<endl;
cout<<"3 增加n时间后的时间"<<endl;
cout<<"请输入你的选择:"<<endl;
cin>>n;
switch(n)
{
case 1:t.add_seconds(t);
break;
case 2:t.add_minutes(t);
break;
case 3:t.add_hours(t);
break;
}
return 0;
}
void Time::add_seconds(Time t)
{
int a,i=1;
int c;
cout<<"你想要增加的秒数"<<endl;
cin>>a;
c=60-t.second;
a-=c;
t.minute++;
if(t.minute==60)
t.hour++;
if(t.hour==24)
cout<<"这是第二天";
for( ;a>=60; )
{
a-=60;
t.minute++;
if(t.minute==60)
{ t.minute=0;
t.hour++;
if(t.hour==24)
{
i++;
cout<<"这是第"<<i<<"天";
}
}
}
cout<<"时间是"<<t.hour<<":"<<t.minute<<":"<<a<<endl;
}
void Time::add_minutes(Time t)
{
int k,i=1,c1;
cout<<"请输入你想增加的分钟数:"<<endl;
cin>>k;
c1=60-t.minute;
k-=c1;
t.hour++;
if(t.hour==24)
cout<<"这是第二天"<<endl;
for(;k>=60;)
{
k-=60;
t.hour++;
if(t.hour==24)
{
i++;
cout<<"这是第"<<i<<"天";
}
}
cout<<"时间是"<<t.hour<<":"<<k<<":"<<t.second<<endl;
}
void Time::add_hours(Time t)
{
int v,i=1,c2;
cout<<"请输入你想增加的小时数"<<endl;
cin>>v;
c2=24-t.hour;
v-=c2;
i++;
for(;v>=24;)
{ v-=24;
i++;
}
cout<<"这是第"<<i<<"天"<<endl;
cout<<"时间是"<<v<<":"<<t.minute<<":"<<t.second<<endl;
}
用类玩儿时间
最新推荐文章于 2024-07-12 00:02:11 发布