第三周实验报告3

来源:互联网 发布:和电脑数据互通的游戏 编辑:程序博客网 时间:2024/05/25 05:38

#include <iostream>
using namespace std;
class Time
{
public:
 void set_time();
 void show_time();
 void add_a_sec();
 void add_a_minute();
 void add_an_hour();
 void add_seconds();
 void add_minutes();
 void add_hours();
private:
 bool is_time(int ,int,int);
 int hour;
 int minute;
 int sec;
};
int main()
{
 Time t1;
 Time &t2=t1;
 t1.set_time();
 t2.show_time();
 t1.add_a_sec();
 t2.show_time();
 t1.add_a_minute();
 t2.show_time();
 t1.add_an_hour();
 t2.show_time();
 t1.add_seconds();
 t2.show_time();
 t1.add_minutes();
 t2.show_time();
 t1.add_hours();
 t2.show_time();
 return 0;
}
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;
}
void Time::add_a_sec()
{  
 sec = sec + 1;
 if(sec>=60)
 {
  minute++;
  sec=0;
 if(minute>59)
 {
  hour++;
  minute = 0;
  if(hour>23)
  {
   hour=0;
  }
 }

 }
}
void Time::add_a_minute()
{
 minute = minute + 1;

 if(minute > 59)
 {
  hour++;
  minute=0;
  if(hour>23)
  {
   hour=0;
  }
 }

}
void Time::add_an_hour()
{

 hour=hour+1;
  if(hour>23)
  {
   hour=0;
  }
 }
void Time::add_seconds()
{
 int s;
    cout<<"请输入增加秒数s:";
 cin>>s;
 sec=sec+s;

 if(sec> 59)
 {
  minute=minute+s/60;
  sec=(sec+s)%60;
  if(minute>59)
  {
   hour=hour+minute/60;
   minute=minute%60;
   if(hour>23)
   {
    hour=hour%24;
   }
  }
 }

}
void Time::add_minutes()
{
 int m;
 cout<<"请输入增加分钟数m:";
 cin>>m;
 minute=minute+m;
 if(minute>59)
 {
  hour=hour+minute/60;
  minute=minute%60;
 if(hour>23)
 {
   hour=hour%24;
 }
 }

}
void Time::add_hours()
{
 int h;
 cout<<"请输入增加小时数h:";
 cin>>h;
 hour=hour+h;
 if(hour>23)
 {
  hour=hour%24;
 }
}
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;
}

原创粉丝点击