Từ 1 tới 2 trên tổng số 2 kết quả

Đề tài: Xây dựng lớp ngày tháng năm có chứa năm nhuận và ngày cuối tháng

  1. #1
    Ngày gia nhập
    12 2021
    Bài viết
    1

    Mặc định Xây dựng lớp ngày tháng năm có chứa năm nhuận và ngày cuối tháng

    C++ Code:
    1. #include<iostream>
    2.  
    3. using namespace std;
    4.  
    5. class thoiGian{
    6. private :
    7. int ngay;
    8. int thang;
    9. int nam;
    10. public :
    11. thoiGian(){
    12. ngay = 1;
    13. thang = 1 ;
    14. nam = 2012;
    15.         }
    16.        
    17.         int get_ngay(){
    18.             return ngay;
    19.         }
    20.        
    21.         int get_thang(){
    22.             return thang;
    23.         }
    24.        
    25.         int get_nam(){
    26.             return nam;
    27.         }
    28.        
    29.         int ngayCuoiThang(){
    30.             if( thang == 2 ){
    31.                 if( kiemTraNhuan() == true){
    32.                     return 29;
    33.                 }
    34.                 return 28;
    35.             }else{
    36.                 if( thang == 4 || thang == 6 || thang == 9 || thang == 11){
    37.                     return 30;
    38.                 }
    39.                 return 31;
    40.             }
    41.         }
    42.        
    43.         bool kiemTraNhuan(){
    44.             if(nam%400 == 0){
    45.                 return true;
    46.             }
    47.             if(nam % 4 == 0 && nam % 100 == 0){
    48.                 return true;
    49.             }
    50.             return false;
    51.         }
    52.        
    53.         void xuat(){
    54.             cout << "Thoi gian : " << ngay <<"/" << thang <<"/" << nam << endl;
    55.         }  
    56.        
    57.         void nhap(){
    58.             do{
    59.                 cout << "Nhap nam : " ; cin >> nam;
    60.             }while( nam < 0);
    61.            
    62.             do{
    63.                 cout << "Nhap thang : " ; cin >> thang;
    64.             }while( 1 > thang || thang > 12);
    65.            
    66.            
    67.             do{
    68.                 cout << "Nhap ngay : " ; cin >> ngay;
    69.             }while( ngay < 0 || ngay > ngayCuoiThang() );
    70.         }
    71.        
    72.         bool operator==( thoiGian s){
    73.             if( s.nam == nam && s.thang == thang && s.ngay == ngay ){
    74.                 return true;
    75.             }
    76.             return false;
    77.         }
    78. };
    79.  
    80.  
    81. int main(){
    82.    
    83. thoiGian t,s;
    84. t.nhap();
    85. t.xuat();
    86. s.nhap();
    87. s.xuat();
    88.    
    89.     if( s == t){
    90.         cout << "2 thoi gian trung nhau ";
    91.     }else{
    92.         cout << "2 thoi gian khong trung nhau"
    93.     }
    94. }
    Đã được chỉnh sửa lần cuối bởi MHoang : 20-12-2021 lúc 08:40 PM.

  2. #2
    Ngày gia nhập
    12 2015
    Nơi ở
    Đà Nẵng
    Bài viết
    662

    Trích dẫn Nguyên bản được gửi bởi nguyenvantanh Xem bài viết
    C++ Code:
    1. #include<iostream>
    2.  
    3. using namespace std;
    4.  
    5. class thoiGian{
    6. private :
    7. int ngay;
    8. int thang;
    9. int nam;
    10. public :
    11. thoiGian(){
    12. ngay = 1;
    13. thang = 1 ;
    14. nam = 2012;
    15.         }
    16.        
    17.         int get_ngay(){
    18.             return ngay;
    19.         }
    20.        
    21.         int get_thang(){
    22.             return thang;
    23.         }
    24.        
    25.         int get_nam(){
    26.             return nam;
    27.         }
    28.        
    29.         int ngayCuoiThang(){
    30.             if( thang == 2 ){
    31.                 if( kiemTraNhuan() == true){
    32.                     return 29;
    33.                 }
    34.                 return 28;
    35.             }else{
    36.                 if( thang == 4 || thang == 6 || thang == 9 || thang == 11){
    37.                     return 30;
    38.                 }
    39.                 return 31;
    40.             }
    41.         }
    42.        
    43.         bool kiemTraNhuan(){
    44.             if(nam%400 == 0){
    45.                 return true;
    46.             }
    47.             if(nam % 4 == 0 && nam % 100 == 0){
    48.                 return true;
    49.             }
    50.             return false;
    51.         }
    52.        
    53.         void xuat(){
    54.             cout << "Thoi gian : " << ngay <<"/" << thang <<"/" << nam << endl;
    55.         }  
    56.        
    57.         void nhap(){
    58.             do{
    59.                 cout << "Nhap nam : " ; cin >> nam;
    60.             }while( nam < 0);
    61.            
    62.             do{
    63.                 cout << "Nhap thang : " ; cin >> thang;
    64.             }while( 1 > thang || thang > 12);
    65.            
    66.            
    67.             do{
    68.                 cout << "Nhap ngay : " ; cin >> ngay;
    69.             }while( ngay < 0 || ngay > ngayCuoiThang() );
    70.         }
    71.        
    72.         bool operator==( thoiGian s){
    73.             if( s.nam == nam && s.thang == thang && s.ngay == ngay ){
    74.                 return true;
    75.             }
    76.             return false;
    77.         }
    78. };
    79.  
    80.  
    81. int main(){
    82.    
    83. thoiGian t,s;
    84. t.nhap();
    85. t.xuat();
    86. s.nhap();
    87. s.xuat();
    88.    
    89.     if( s == t){
    90.         cout << "2 thoi gian trung nhau ";
    91.     }else{
    92.         cout << "2 thoi gian khong trung nhau"
    93.     }
    94. }
    Hàm kiểm tra năm nhuận sai rồi
    if (nam % 400 == 0) return true;
    if (nam % 4 == 0 && nam % 100 != 0) return true;

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn