Advertisement
haopoka

OOP Tìm ngày kế tiếp

Mar 25th, 2020
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3.  
  4. class TimNgayKeTiep {
  5.     private:
  6.         struct Date
  7.         {
  8.             int ngay;
  9.             int thang;
  10.             int nam;
  11.         } homnay, ngaymai;
  12.     public:
  13.         void Nhap();
  14.         void TimNgayTiepTheo();
  15.         void XuatNgayTiepTheo();
  16. };
  17.  
  18. int main() {
  19.     TimNgayKeTiep timNgay;
  20.     timNgay.Nhap();
  21.     timNgay.TimNgayTiepTheo();
  22.     timNgay.XuatNgayTiepTheo();
  23.  
  24.     return 0;
  25. }
  26.  
  27. void TimNgayKeTiep::Nhap()
  28. {
  29.     cout << "Nhap vao ngay, thang, nam: (cach nhau mot dau cach): ";
  30.     cin >> homnay.ngay >> homnay.thang >> homnay.nam;
  31. }
  32.  
  33. void TimNgayKeTiep::TimNgayTiepTheo()
  34. {
  35.     //So ngay trong mot thang
  36.     int* thang = new int[12]{ 31,28,31,30,31,30,31,31,30,31,30,31 };
  37.     //Xac dinh nam nhuan
  38.     bool* nhuan = new bool(false);
  39.     if (homnay.nam % 400 == 0)
  40.         *nhuan = true;
  41.     else if (homnay.nam % 100 != 0 && homnay.nam % 4 == 0)
  42.         *nhuan = true;
  43.     //Nam nhuan thang 2 co 29 ngay
  44.     if (*nhuan)
  45.         thang[1]++;
  46.     delete nhuan;
  47.  
  48.     //Xac dinh ngay hom sau (mac dinh)
  49.     ngaymai.ngay = homnay.ngay + 1;
  50.     ngaymai.thang = homnay.thang;
  51.     ngaymai.nam = homnay.nam;
  52.  
  53.     //Nhung truong hop cuoi thang, cuoi nam
  54.     if (ngaymai.ngay > thang[homnay.thang - 1]) {
  55.         if (homnay.thang == 12) {
  56.             ngaymai.ngay = 1;
  57.             ngaymai.thang = 1;
  58.             ngaymai.nam++;
  59.         }
  60.         else {
  61.             ngaymai.ngay = 1;
  62.             ngaymai.thang++;
  63.         }
  64.     }
  65.     delete[] thang;
  66. }
  67.  
  68. void TimNgayKeTiep::XuatNgayTiepTheo()
  69. {
  70.     cout << "\nNgay tiep theo la: ";
  71.     cout << "ngay " << ngaymai.ngay << ", thang " << ngaymai.thang << ", nam " << ngaymai.nam << endl;
  72. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement