第七周实验报告(一)

./* (程序头部注释开始) 
02.* 程序的版权和版本声明部分 
03.* Copyright (c) 2011, 烟台大学计算机学院学生  
04.* All rights reserved. 
05.* 文件名称:                               
06.* 作    者:苗向前                               
07.* 完成日期:   2012      年   4   月    5    日 
08.* 版 本 号:           
09. 
10.* 对任务及求解方法的描述部分 
11.* 输入描述:  
12.* 问题描述:  
13.* 程序输出:  
14.* 程序头部的注释结束 
15.*/  
16.#include<iostream>   
17.  
18.#include <iomanip>   
19.  
20.using namespace std;    
21.  
22.class Time    
23.{    
24.public:    
25.      
26.    Time(int = 0, int = 0, int = 0);    
27.      
28.    void show_time( ); //根据is_24和from0,输出适合形式-20:23:5/8:23:5 pm/08:23:05 pm    
29.      
30.    void add_seconds(int); //增加n秒钟    
31.      
32.    void add_minutes(int); //增加n分钟      
33.      
34.    void add_hours(int); //增加n小时      
35.      
36.    static void change24();  //改变静态成员is_24,在12和24时制之间转换    
37.      
38.    static void changefrom0();   //改变静态成员from0,切换是否前导0    
39.      
40.private:    
41.      
42.    static bool is_24; //为true时,24小时制,如20:23:5;为flase,12小时制,显示为8:23:5 pm     
43.      
44.    static bool from0; //为true时,前导0,8:23:5显示为08:23:05    
45.      
46.    int hour;    
47.      
48.    int minute;    
49.      
50.    int sec;    
51.};    
52.  
53.bool Time :: is_24 = true ;//在类体外对静态数据成员进行初始化  
54.  
55.bool Time :: from0 = false;  
56.  
57.Time :: Time(int h,int m,int s):hour(h),minute(m),sec(s){}  
58.  
59.void Time :: show_time()  
60.{  
61.    if ( is_24 && !from0 )  //原来是这样用的。。。  
62.    {  
63.        cout << hour << " : " << minute << " : " << sec <<endl;  
64.    }  
65.    if ( is_24 && from0 )  
66.    {  
67.        cout << setw(2) << setfill('0') << hour << " : " << setw(2) << setfill('0') << minute   
68.            << " : " << setw(2) << setfill('0') << sec << endl;  
69.    }  
70.    if ( !is_24 && from0 )  
71.    {  
72.        if ( hour > 12 )  
73.        {  
74.            cout << setw(2) << setfill('0') << hour - 12 << " : " << setw(2) << setfill('0') << minute   
75.            << " : " << setw(2) << setfill('0') << sec << '\t' <<"pm" << endl;  
76.        }  
77.        else  
78.        {  
79.            cout << setw(2) << setfill('0') << hour << " : " << setw(2) << setfill('0') << minute   
80.            << " : " << setw(2) << setfill('0') << sec <<'\t' << " am" << endl;  
81.        }  
82.    }  
83.}  
84.  
85.  
86.void Time :: add_seconds( int s )  
87.{  
88.    sec += s;  
89.  
90.    if ( sec > 60 )  
91.    {  
92.        minute = ( sec - 60 ) % 60;  
93.  
94.        sec = 0;  
95.    }  
96.}  
97.  
98.void Time :: add_minutes( int m) //增加n分钟   
99.{  
100.    minute += m;  
101.  
102.    if( minute > 60)  
103.    {  
104.        hour = (minute - 60) % 60;  
105.  
106.        minute = 0;  
107.    }  
108.}     
109.void Time :: add_hours(int h) //增加n小时    
110.{  
111.    hour += h;  
112.  
113.     if(hour > 24)    
114.    {    
115.        hour = (hour - 24) % 24;    
116.    }    
117.}    
118.      
119.void Time :: change24()//改变静态成员is_24,在12和24时制之间转换    
120.{  
121.    is_24 = false;  
122.}  
123.void Time :: changefrom0()   //改变静态成员from0,切换是否前导0    
124.{  
125.    from0 = true;  
126.}  
127.int main( )       
128.{    
129.    Time t1(23,14,25),t2(8,45,6);     
130.        
131.    cout << "24时制, 不前导0:" << endl;    
132.        
133.    cout << "t1是:";    
134.        
135.    t1.show_time();    
136.        
137.    cout << "t2是:";    
138.        
139.    t2.show_time();    
140.        
141.    t1.add_hours(10);    
142.        
143.    t2.add_hours(10);    
144.        
145.    Time::changefrom0(); //注意此处调用静态成员    
146.        
147.    cout << "10小时后, 切换是否前导0:" << endl;    
148.        
149.    cout << "t1是:";    
150.        
151.    t1.show_time();    
152.        
153.    cout<< "t2是:";    
154.        
155.    t2.show_time();    
156.        
157.    t1.change24();    
158.        
159.    cout << "换一种制式:" << endl;    
160.        
161.    cout << "t1是:";    
162.        
163.    t1.show_time();    
164.        
165.    cout << "t2是:";    
166.        
167.    t2.show_time();    
168.        
169.    system("pause");    
170.        
171.    return 0;    
172.}    

上机感言:
       is_24 && !from0的应用挺不错的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值