第三周实验报告任务3(输入一个时间并增加时分秒)
2012-03-05 22:24
489 查看
#include <iostream> using namespace std; 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_seconds(int n); //增加n秒钟 void add_minutes(int n); //增加n分钟 void add_hours(int n); //增加n小时 private: bool is_time ( int, int, int ); int hour; int minute; int sec; int hour1; int minute1; int sec1; }; int main( ) { int x,y,z; Time t1; Time&t2 = t1; t1.set_time(); t2.show_time (); cout << "请输入要增加的时分秒:" << endl; cin >> x >> y >> z; t1.add_seconds ( z ); t1.add_minutes ( y ); t1.add_hours ( x ); t2.show_time (); return 0; } void Time :: set_time() { char c1,c2; cout << "请输入时间 ( 格式 hh:mm:ss ) "; while(1) { cin >> hour >> c1 >> minute >> c2 >> sec; hour1 = hour; minute1 = minute; sec1 = 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; } inline void Time::add_a_sec() //增加1秒钟 { sec = sec+1; if(sec>60||sec==60) { minute = minute+(sec/60); sec = sec%60; } } inline void Time::add_a_minute() //增加1分钟 { minute = minute+1; if(minute>60||minute == 60) { hour = hour+(minute/60); minute = minute%60; } } inline void Time::add_an_hour() //增加1小时 { hour = hour+1;
if (hour>23)
{
hour=hour%24;
} } void Time::add_seconds(int n)//增加n秒钟 { sec = sec+n; if(sec>60||sec==60) { minute = minute + (sec/60); sec = sec%60; } } void Time::add_minutes(int n) //增加n分钟 { minute = minute + n; if(minute > 60||minute == 60) { hour = hour + ( minute/60 ); minute = minute % 60; } } void Time::add_hours(int n) //增加n小时 { hour = hour + n;
if (hour>23)
{
hour=hour%24;
}
}
相关文章推荐
- C#--第三周实验--任务2--输入一个由若干字符组成的字符串,输出其中的大写字母、小写字母、数字和其他字符的个数(控制台应用)
- 第六周实验报告 任务4 设计一个三角形类 输入三角形的三个顶点 求面积周长
- 《C++第九周实验报告2-1》---接第8周任务2,定义Time类中的<<和>>运算符重载,实现时间的输入输出
- 第九周实验报告任务4 建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作。
- 《第三周实验报告3-1》---增加时间,以一定格式输出
- 第九周实验报告任务 1 定义Time类中的<<和>>运算符重载,实现时间的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- 第三周实验报告 任务四
- C#--第2周实验--任务8--编写一个控制台应用--输入10个数存入数组,求最大值、最小值和平均值
- 第九周实验报告(四)建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数,完成矩阵的输入、输出、加、减、相等判断等操作
- 第六周实验指导--任务四--设计一个三角形类,能够输入三角形的三个顶点,求出其面积、周长。
- 第十周实验报告任务2 定义一个名为CPerson的类。
- 第十周实验报告任务3 先建一个Point类
- C++程序设计实验报告(三十四)---第三周任务四
- 第三周实验报告(任务4)
- 第三周实验报告 任务三
- C#--第2周实验--任务10--编写一个控制台应用--输入一个整数,将其各位数字颠倒顺序后输出
- 《C++第九周实验报告4-1》---建立一个二维数组类Douary,使该类中有以下数据成员、成员函数及友员函数, //完成矩阵的输入、输出、加、减、相等判断等操作。
- 第三周实验报告(任务一)
- 第16周报告2(任务3):实验内容:求出一个数所有的奇数因子
- (第三周实验报告任务2)找错误