C++程序设计实验报告(三十六)---第四周任务二

来源:互联网 发布:网络安全设备品牌排行 编辑:程序博客网 时间:2024/04/30 00:02
 * 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生 
* All rights reserved.
* 文件名称:           多文件组织项目              
* 作    者:                 刘镇             
* 完成日期:   2012         年    3   月    12    日
* 版 本 号:         1.033

* 对任务及求解方法的描述部分
* 输入描述: 时间(时、分、秒)
* 问题描述: 。。。。
* 程序输出: 。。。。

* 程序头部的注释结束

头文件:

 

#include<iostream>   using namespace std;  class Time  {  public:  void set_time();  void show_time();  inline void add_a_sec()                //增加1秒钟  {  ++ sec;  if(sec >= 60)  {  sec = 0;  add_a_minute();  }  }  inline void add_a_minute()                 //增加1分钟   {  ++ minute;  if(minute >= 60)  {  minute = 0;  add_an_hour();  }  } inline void add_an_hour()                    //增加1小时 {  ++ hour;  if(hour > 24)  {  hour = 1;  }  }  void add_seconds(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;  };  


源文件:main.cpp

 

#include<iostream>   #include"Time.h"using namespace std;  int main()  {  Time t1;  Time &t2 = t1;  t1.set_time(); t2.show_time();  t1.add_a_sec();  cout << "增加1秒钟:" << endl;t2.show_time();  t1.add_a_minute();cout << "增加1分钟:" << endl;t2.show_time();  t1.add_an_hour();  cout << "增加1小时:" << endl;t2.show_time();  t1.add_seconds(45); cout << "增加45秒钟:" << endl;t2.show_time();  t1.add_minutes(50);  cout << "增加50分钟:" << endl;t2.show_time();  t1.add_hours(2);  cout << "增加2小时:" << endl;t2.show_time();  system("PAUSE");return 0;}  


Time.cpp

 

#include<iostream>   #include"Time.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;  }  return true;  }  void Time::add_seconds(int n)  {     sec = sec + n;  if(sec >= 60)  {  add_minutes(sec/60);sec = sec % 60;}  }  void Time::add_minutes(int n)  {     minute = minute + n;  if(minute >= 60)  { add_hours(minute / 60);minute =  minute % 60;  } }void Time::add_hours(int n)  {  hour = hour + n;  if(hour >= 24)  { hour = hour % 24;  } }  


运行结果:

 

 

经验积累:

 

1、活学活用的将头文件,源文件分离,在用vs2008时需要构建标准的类,或自己在头文件与源文件中定义,切勿少了对于头文件的包含预处理。

2、vs中方便的使用单步调试,在调试栏中运用也可,使用快捷键F11\F10也可以,在vc++中的标准化格式功能ALT + F8也可以用。

 

上级感言:

vs在我的这几天使用中能体会到它更适合做大工程,兼容问题解决也很好。比如讲文件最小化,实现文件的分割包装,明显有实际。可缺点是比起vc++,它的安装和运行较慢,并且没有自动暂停功能。

原创粉丝点击