您的位置:首页 > 其它

第三周实验报告2

2012-03-05 20:51 148 查看
 
/* (程序头部注释开始)

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生

* All rights reserved.

* 文件名称:                             

* 作    者:        赵桐辉                     

* 完成日期:        2012 年     03  月    05    日

* 版 本 号:         

* 对任务及求解方法的描述部分

* 输入描述:

* 问题描述:

* 程序输出:

* 程序头部的注释结束

*/

#include <iostream>

using namespace std;

class Time

{

public:

 void set_time();

 void show_time();

 void change_time();

 void add_seconds(int n);

 void add_minutes(int n);

 void add_hours(int n);

private:

 bool is_time(int,int,int);

 void add_a_sec();

 void add_a_minute();

 void add_an_hour();

 int hour;

 int minute;

 int sec;

};

int main()

{

 

 Time t1;

 Time &t2=t1;

 t1.set_time();

 t1.change_time();

 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;

}

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;

}

void Time::add_a_sec()

{

 sec++;

 if(sec==60)

 {

  sec=60-sec;

  minute=minute+1;

 }

}

void Time::add_a_minute()

{

 minute++;

 if(minute==60)

 {

  minute=60-sec;

  hour=hour+1;

 }

}

void Time::add_an_hour()

{

 hour=hour+1;

 if(hour==24)

 {

  hour=24-hour;

 }

}

void Time::add_seconds(int n)

{

 for(int i=0;i<n;i++)

  add_a_sec();

}

void Time::add_minutes(int n)

{

  for(int i=0;i<n;i++)

  add_a_minute();

}

void Time::add_hours(int n)

{

  for(int i=0;i<n;i++)

  add_an_hour();

}

void Time::change_time()

{

 int s,m,h;

 char ch1,ch2;

 cout<<"请输入需要增加的时间(格式hh:mm:ss)";

 while(1)

 {

  cin>>h>>ch1>>m>>ch2>>s;

  if(ch1!=':'||ch2!=':')

   cout<<"格式输入不正确请重新输入"<<endl;

  else if(is_time(h,m,s)==0)

   cout<<"时间非法,请重新输入"<<endl;

  else

  {

   add_seconds(s);

   add_minutes(m);

   add_hours(h);

   break;

  }

 }

}

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