C++程序设计实验报告(三十六)---第四周任务二
2012-03-12 17:32
357 查看
* 程序的版权和版本声明部分
* Copyright (c) 2012, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称: 多文件组织项目
* 作 者: 刘镇
* 完成日期: 2012 年 3 月 12 日
* 版 本 号: 1.033
* 对任务及求解方法的描述部分
* 输入描述: 时间(时、分、秒)
* 问题描述: 。。。。
* 程序输出: 。。。。
* 程序头部的注释结束
头文件:
源文件:main.cpp
Time.cpp
运行结果:
经验积累:
1、活学活用的将头文件,源文件分离,在用vs2008时需要构建标准的类,或自己在头文件与源文件中定义,切勿少了对于头文件的包含预处理。
2、vs中方便的使用单步调试,在调试栏中运用也可,使用快捷键F11\F10也可以,在vc++中的标准化格式功能ALT + F8也可以用。
上级感言:
vs在我的这几天使用中能体会到它更适合做大工程,兼容问题解决也很好。比如讲文件最小化,实现文件的分割包装,明显有实际。可缺点是比起vc++,它的安装和运行较慢,并且没有自动暂停功能。
* 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++,它的安装和运行较慢,并且没有自动暂停功能。
相关文章推荐
- C++程序设计实验报告(四十三)---第六周任务一
- C++程序设计实验报告(五十八)---第九周任务2
- C++程序设计实验报告(四十)---第五周任务二
- C++程序设计实验报告(五十二)---第八周任务1-2
- C++程序设计实验报告(四十一)---第五周任务三
- C++程序设计实验报告(四十七)---第六周任务五
- C++程序设计实验报告(五十三)---第八周任务1-3
- C++程序设计实验报告(二十七)---第二周任务一(自定义函数用递归思想,即不断调用,反向输出二进制)
- C++程序设计实验报告(六十四)---第十周任务3
- C++程序设计实验报告(四十四)---第六周任务二
- C++程序设计实验报告(五十六)---第八周任务四
- C++程序设计实验报告(七十九)---第十六周任务一
- C++程序设计实验报告(四十八)---第七周任务一
- C++程序设计实验报告(二十八)---第二周任务二
- C++程序设计实验报告(七十三)---第十四周任务一
- C++程序设计实验报告(七十五)---第十五周任务一
- C++程序设计实验报告(八十一)---第十六周任务三
- C++程序设计实验报告(四十五)---第六周任务三
- C++程序设计实验报告(四十六)---第六周任务四
- C++程序设计实验报告(六十五)---第十二周任务一