Thứ Bảy, 14 tháng 3, 2015

C/C++ nhập vào 1 ngày, tìm ngày kế tiếp và xuất kết quả

  1. C/C++ nhập vào 1 ngày, tìm ngày kế tiếp và xuất kết quả
  2. // Viet chuong trinh nhap vao 1 ngay. Tim ngay ke tiep va xuat ket qua.
  3. #pragma region +Declaration.
  4.  
  5. #pragma region _Library
  6. #include <iostream>
  7. using namespace std;
  8. #pragma endregion
  9.  
  10. #pragma region _Data Struct
  11. typedef struct Date
  12. {
  13.         int dd;
  14.         int mm;
  15.         int yyyy;
  16. } D;
  17. #pragma endregion
  18.  
  19. #pragma region _Prototype.
  20. void InputDate (D&);
  21. void OutputDate (D);
  22. D NextDate(D&);
  23. #pragma endregion
  24.  
  25. #pragma endregion
  26.  
  27. #pragma region +Main Function.
  28. void main ()
  29. {
  30.         D a;
  31.  
  32.         cout << "Input Date:" << endl;
  33.         InputDate (a);
  34.         cout << "\n\nNext Date: ";
  35.         OutputDate (NextDate(a));
  36.  
  37.         system("pause");
  38. }
  39. #pragma endregion
  40.  
  41. #pragma region +Define Function
  42. void InputDate (&a)
  43. {
  44.         int x;
  45.         do
  46.         {
  47.                 cout << "Day: ";
  48.                 cin >> a.dd;
  49.                 cout << "Month: ";
  50.                 cin >> a.mm;
  51.                 cout << "Year: ";
  52.                 cin >> a.yyyy;
  53.  
  54.                 switch (a.mm)
  55.                 {
  56.                 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  57.                         x = 31;
  58.                         break;
  59.                 case 4: case 6: case 9: case 11:
  60.                         x = 30;
  61.                         break;
  62.                 case 2:
  63.                         if ((a.yyyy % 400 == 0) || (a.yyyy % 4 == 0 && a.yyyy % 100 != 0))
  64.                                 x = 29;
  65.                         else
  66.                                 x = 28;
  67.                         break;
  68.                 default: x = 0;
  69.                 }
  70.                 if (== 0 || a.dd <= 0 || a.dd > x)
  71.                         cout << "\nEror! Please Input Date." << endl;
  72.         }while (== 0 || a.dd <= 0 || a.dd > x);
  73. }
  74. void OutputDate (D a)
  75. {
  76.         cout << a.dd << " / " << a.mm << " / " << a.yyyy << endl;
  77. }
  78. D NextDate (&a)
  79. {
  80.         int x;
  81.         switch (a.mm)
  82.                 {
  83.                 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  84.                         x = 31;
  85.                         break;
  86.                 case 4: case 6: case 9: case 11:
  87.                         x = 30;
  88.                         break;
  89.                 case 2:
  90.                         if ((a.yyyy % 400 == 0) || (a.yyyy % 4 == 0 && a.yyyy % 100 != 0))
  91.                                 x = 29;
  92.                         else
  93.                                 x = 28;
  94.                         break;
  95.                 }
  96.         if (a.dd == x)
  97.         {
  98.                 a.dd = 1;
  99.                 if (a.mm == 12)
  100.                 {
  101.                         a.mm = 1;
  102.                         a.yyyy ++;
  103.                 }
  104.                 else
  105.                         a.mm ++;
  106.         }
  107.         else
  108.                 a.dd ++;
  109.         return a;
  110. }
  111. //TÁC GIẢ CODE: TRẦN MINH AN

1 nhận xét: