Maplewing

5/28 C++: class Time

May 27th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.05 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. class Time{
  5.     private:
  6.         // 資料(變數部分)
  7.         int hour;
  8.         int minute;
  9.         int second;
  10.    
  11.     public:
  12.         // 功能(函式部分)
  13.        
  14.         // Constructor(建構式)
  15.         Time(){
  16.             hour = 0;
  17.             minute = 0;
  18.             second = 0;
  19.         }
  20.        
  21.         Time(int h, int m, int s){
  22.             setHour(h);
  23.             setMinute(m);
  24.             setSecond(s);
  25.         }
  26.        
  27.        
  28.         // Set/Get Method
  29.         void setHour(int h){
  30.             if( h >= 0 && h <= 23 ){
  31.                 hour = h;
  32.             }
  33.             else{
  34.                 cout << "錯誤訊息:小時設定錯誤" << endl;
  35.                 hour = 0; // 設定錯誤時,復原成預設值。
  36.             }
  37.         }
  38.        
  39.         void setMinute(int m){
  40.             if( m >= 0 && m <= 59 ){
  41.                 minute = m;
  42.             }
  43.             else{
  44.                 cout << "錯誤訊息:分鐘設定錯誤" << endl;
  45.                 minute = 0; // 設定錯誤時,復原成預設值。
  46.             }
  47.         }
  48.        
  49.         void setSecond(int s){
  50.             if( s >= 0 && s <= 59 ){
  51.                 second = s;
  52.             }
  53.             else{
  54.                 cout << "錯誤訊息:秒數設定錯誤" << endl;
  55.                 second = 0; // 設定錯誤時,復原成預設值。
  56.             }
  57.         }
  58.        
  59.         int getHour(){
  60.             return hour;
  61.         }
  62.        
  63.         int getMinute(){
  64.             return minute;
  65.         }
  66.        
  67.         int getSecond(){
  68.             return second;
  69.         }
  70.        
  71.         void print(){
  72.             cout << hour << "時" << minute << "分" << second << "秒" << endl;
  73.         }
  74.        
  75.         int diff(Time t2){
  76.             return (hour - t2.hour) * 3600 + (minute - t2.minute) * 60 + (second - t2.second);
  77.         }
  78.        
  79.         int cmpGreater(Time t2){
  80.             if( hour > t2.hour ){
  81.                 return 1;
  82.             }
  83.             else if( hour < t2.hour){
  84.                 return 0;
  85.             }
  86.             else if( minute > t2.minute ){
  87.                 return 1;
  88.             }
  89.             else if( minute < t2.minute){
  90.                 return 0;
  91.             }
  92.             else if( second > t2.second ){
  93.                 return 1;
  94.             }
  95.             else{
  96.                 return 0;
  97.             }
  98.            
  99.         }
  100. };
  101.  
  102. int main(){
  103.     //Time t1 = {9, 90000, 58};
  104.     Time t1(9, 90000, 58);
  105.     Time t2;
  106.     /*t2.hour = 12;
  107.     t2.minute = 800;
  108.     t2.second = 0;
  109.     */
  110.     t2.setHour(12);
  111.     t2.setMinute(800);
  112.     t2.setSecond(0);
  113.    
  114.     t1.print();
  115.     t2.print();
  116.     cout << t2.diff(t1) << endl;
  117.     cout << t2.cmpGreater(t1) << endl;
  118.     cout << t1.getHour() << endl;
  119.    
  120.     return 0;
  121. }
Add Comment
Please, Sign In to add comment