您的位置:首页 > 其它

第三周实验报告3

2012-03-05 17:25 211 查看
#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;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  include c