第七周实验报告 任务一
来源:互联网 发布:linux 目录使用情况 编辑:程序博客网 时间:2024/06/07 12:14
源程序:
#include<iostream>#include<cmath>using namespace std;class Time{public:Time(int=0,int=0,int=0);void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pmvoid add_seconds(int); //增加n秒钟void add_minutes(int); //增加n分钟 void add_hours(int); //增加n小时 static void change24(); //改变静态成员is_24,在12和24时制之间转换static void changefrom0(); //改变静态成员from0,切换是否前导0private:static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm static bool from0; //为true时,前导0,8:23:5显示为08:23:05int hour;int minute;int sec;};//下面写出静态成员的初始化及各成员函数的定义bool Time::is_24 = true;bool Time::from0 = false;Time::Time(int h, int m, int s){hour = h; minute = m;sec = s;}void Time::show_time( )//根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm{int h = (is_24)/* 意思是:如果is_24为true*/?hour:(hour % 12);//显示时if(from0 && h < 10)//意思是:如果from0为true,并且h < 10{cout << '0';}cout << h << ":";if(from0 && minute < 10)//显示分{cout << '0';}cout << minute << ":"; if(from0 && sec < 10){cout << '0';}cout << sec;if(!is_24)//如果is_24为假{if(hour > 12){cout << "pm";}else{cout << "am";}}cout << endl;//最后不要忘记换行···}void Time::add_seconds(int n) //增加n秒钟 { sec += n; if (sec > 59) { add_minutes(sec / 60); sec %= 60; } } void Time::add_minutes(int n) //增加n分钟 { minute += n; if (minute > 59) { add_hours(minute/60); minute%=60; } } void Time::add_hours(int n) //增加n小时 { hour += n; if (hour > 23) { hour %= 24; }} void Time::change24()//改变静态成员is_24,在12和24时制之间转换{if(is_24){is_24 = false;}else{is_24 = true;}}void Time::changefrom0()//改变静态成员from0,切换是否前导0{if(from0){from0 = false;}else{from0 = true;}}int main( ) {Time t1(23,14,25),t2(8,45,6); cout<<"24时制, 不前导0:"<<endl;cout<<"t1是:";t1.show_time();cout<<"t2是:";t2.show_time();t1.add_hours(10);t2.add_hours(10);Time::changefrom0(); //注意此处调用静态成员cout<<"10小时后, 切换是否前导0:"<<endl;cout<<"t1是:";t1.show_time();cout<<"t2是:";t2.show_time();t1.change24();cout<<"换一种制式:"<<endl;cout<<"t1是:";t1.show_time();cout<<"t2是:";t2.show_time();system("pause");return 0;}
截图:
这个是刚刚做完的···也就是听完贺老的讲解后做得···本来应该先发自己做的的···结果忘记带u盘了···呵呵~回去发自己的。不过贺老这种方法真的好简练···佩服佩服···我自己在做的时候showtime()那地方简直将我绕晕了呢···好不容易才捣鼓明白···结果贺老原来有这么简单的方法···还带继续努力哈~
- 《第七周实验报告任务一》
- 第七周实验报告 任务一
- C++程序设计实验报告(四十八)---第七周任务一
- 第七周实验报告一
- 第七周实验报告任务1
- 第七周实验报告任务2
- 第七周实验报告任务3
- 《第七周实验报告任务二》
- 第七周实验报告任务二
- 第七周实验报告 任务二
- 第七周实验报告 任务三
- 第七周实验报告(任务1)
- 第七周实验报告(任务2)
- 第七周实验报告(任务3)
- 第七周实验报告任务1
- 第七周实验报告任务2
- 第七周实验报告任务3
- 《第七周实验报告任务三》
- iconv、mb_convert_encoding字符编码的转换
- 利用Oracle VPD(虚拟专用数据库)实现类似EBS R12里的多OU屏蔽
- ubuntu11.10下linux内核主机编译
- Spring Quartz任务调度入门
- 做点笔记
- 第七周实验报告 任务一
- c#类成员(字段、属性、方法、事件)
- Mac常用操作
- linux多线程调试时,子线程不输出打印
- 进程空间&虚拟内存
- 乱序执行技术
- J2EE中使用Spring集成quartz计划任务
- Oracle temp file查询和resize
- 交换两个数组使两个数组和的差最小