第四周实验报告2

/* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: class nn                            
* 作    者:       刘程程                    
* 完成日期:      
* 版 本 号:       1.0  

* 对任务及求解方法的描述部分
* 程序头部的注释结束
*/

 Header1.h

/本文件中只做类的声明,关注公用接口。
class Time

{
public:

 void set_time();

 void show_time();

 inline void add_a_sec();//增加1秒钟

 inline void add_a_minute();//增加1分钟

 inline void add_an_hour();//增加1小时

 void add_seconts(int);//增加n秒钟

 void add_minutes(int);//增加n分钟

 void add_hours(int);//增加n小时

private:

 bool is_time(int, int, int);

 int hour;

 int minute;

 int sec;

};

inline void Time::add_a_sec()  //增加1秒钟

{
 ++sec;

 if (sec > 59) 


  add_a_minute();

}

inline  void Time::add_a_minute() //增加1分钟

{
 ++minute;

 if (minute > 59)

  add_an_hour();
}


inline void Time::add_an_hour() //增加1小时

{
 ++hour;

 if (hour > 23)

  hour = 0; //到第二天了

}

 

 

 

 

 类定义文件

#include <iostream>

#include"Header1.h"

using namespace std;

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;

 else
  return true;

}

void  Time::add_second(int n) //增加n秒钟

{

 sec += n;

 if (sec > 59)
 {
  add_minutes(sec / 60);

  sec %= 60;

 }
}

void Time::add_minute(int n)

{

 minute += n;

 if( minute > 59)
 {

  add_hours(minute / 60);

  minute %= 60;

 }
}

void  Time:: add_hour (int n) //增加n小时

{

 hour += n;
 
 if ( hour > 23)
 
  hour %= 24;
}

 

main()函数

  1. #include <iostream>   
  2. #include"mytime.h"    //该头文件中包含了Time类的定义  
  3. using namespace std;  
  4. int main( )  
  5. {  
  6.     Time t1;    //有了 #include"mytime.h" ,可以直接使用Time定义对象  
  7.     t1.set_time( );    
  8.     cout<<"现在时间是:";  
  9.     t1.show_time( );  
  10.   
  11.     t1.add_a_sec();  //增加1秒钟   
  12.     cout<<"增加1秒钟后:";  
  13.     t1.show_time( );  
  14.   
  15.     t1.add_a_minute(); //增加1分钟  
  16.     cout<<"增加1分钟后:";  
  17.     t1.show_time( );  
  18.   
  19.     t1.add_an_hour(); //增加1小时   
  20.     cout<<"增加1小时后:";  
  21.     t1.show_time( );  
  22.   
  23.     t1.add_seconds(40); //增加40秒钟  
  24.     cout<<"增加40秒钟后:";  
  25.     t1.show_time( );  
  26.   
  27.     t1.add_minutes(127); //增加127分钟  
  28.     cout<<"增加127分钟后:";  
  29.     t1.show_time( );  
  30.   
  31.     t1.add_hours(8); //增加8小时   
  32.     cout<<"增加8小时后:";  
  33.     t1.show_time( );  
  34.     system("PAUSE");  //在VS2008中,可出现“按任一键继续...”   
  35.     return 0;  
  36. }  

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值