第七周任务一
来源:互联网 发布:vscode怎么调字体大小 编辑:程序博客网 时间:2024/06/05 19:06
* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011, 烟台大学计算机学院学生
* All rights reserved.
* 文件名称。
* 作 者: 张艳明
* 完成日期: 2012 年 4 月 3 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
*/
#include<iostream> 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 pm void 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,切换是否前导0 private: 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:05 int hour; int minute; int sec; }; //下面写出静态成员的初始化及各成员函数的定义 Time::Time(int h,int m,int s) { hour=h; minute=m; sec=s; } bool Time::is_24=true; bool Time::from0=false; void Time::show_time( ) { int h=(is_24)?hour:(hour%12);//设置时 if(from0&&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) if(hour>12) cout<<" pm"; else cout<<" am"; cout<<endl; } void Time::add_seconds(int n) { sec+=n; if(sec>59) { minute=sec/60; sec%=60; } } void Time::add_minutes(int n) { minute+=n; if(minute>59) { hour=minute/60; minute%=60; } } void Time::add_hours(int n) { hour+=n; if(hour>23) { hour%=24; } } void Time::change24() { is_24=!is_24; } void Time::changefrom0() { from0=!from0; } 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; }
上级感言:这个程序太有话说!不得不佩服老师,姜还是老的辣!
Time::show_time( ) 时用了很多if语句,而老师用了简单的三个设置时,设置分,设置秒。
还有 is_24=true可以写为is_24, void Time::change24() { is_24=!is_24; }
换成这样很好理解也很简洁,希望以后能逐渐培养出自己的编程风格
- 第七周 任务一
- 第七周 任务一
- 第七周 任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一
- 第七周任务一。
- 第七周任务(一)
- 第七周任务(一)
- 第七周作业任务一
- 第七周任务一错误
- 《第七周实验报告任务一》
- java 正则表达式
- LogMiner---客户的一次疏忽,DBA的一次噩梦。
- 扩展系统功能——装饰模式(一)
- QT开发资料 qt4.4.3下载
- 为什么nodejs
- 第七周任务一
- 转载 国际地理信息标准ISO 19100 系列
- Java线程(二):线程同步synchronized和volatile
- [C#] WinForm程序中两份mdf文件问题的解决
- 【android基础】之intent传递数组[应用于activity之间传递图片参数等]
- 基本编程语句的效率特性
- 怎么制作草
- Ext4 groupField grid以Date字段分组显示格式化
- 2012-4-3日总结(夜间)