SLIDE1

Saturday, March 14, 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. #pragma region _Library
  5. #include <iostream>
  6. using namespace std;
  7. #pragma endregion
  8. #pragma region _Data Struct
  9. typedef struct Date
  10. {
  11.         int dd;
  12.         int mm;
  13.         int yyyy;
  14. } D;
  15. #pragma endregion
  16. #pragma region _Prototype.
  17. void InputDate (D&);
  18. void OutputDate (D);
  19. D NextDate(D&);
  20. #pragma endregion
  21. #pragma endregion
  22. #pragma region +Main Function.
  23. void main ()
  24. {
  25.         D a;
  26.         cout << "Input Date:" << endl;
  27.         InputDate (a);
  28.         cout << "\n\nNext Date: ";
  29.         OutputDate (NextDate(a));
  30.         system("pause");
  31. }
  32. #pragma endregion
  33. #pragma region +Define Function
  34. void InputDate (&a)
  35. {
  36.         int x;
  37.         do
  38.         {
  39.                 cout << "Day: ";
  40.                 cin >> a.dd;
  41.                 cout << "Month: ";
  42.                 cin >> a.mm;
  43.                 cout << "Year: ";
  44.                 cin >> a.yyyy;
  45.                 switch (a.mm)
  46.                 {
  47.                 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  48.                         x = 31;
  49.                         break;
  50.                 case 4: case 6: case 9: case 11:
  51.                         x = 30;
  52.                         break;
  53.                 case 2:
  54.                         if ((a.yyyy % 400 == 0) || (a.yyyy % 4 == 0 && a.yyyy % 100 != 0))
  55.                                 x = 29;
  56.                         else
  57.                                 x = 28;
  58.                         break;
  59.                 default: x = 0;
  60.                 }
  61.                 if (== 0 || a.dd <= 0 || a.dd > x)
  62.                         cout << "\nEror! Please Input Date." << endl;
  63.         }while (== 0 || a.dd <= 0 || a.dd > x);
  64. }
  65. void OutputDate (D a)
  66. {
  67.         cout << a.dd << " / " << a.mm << " / " << a.yyyy << endl;
  68. }
  69. D NextDate (&a)
  70. {
  71.         int x;
  72.         switch (a.mm)
  73.                 {
  74.                 case 1: case 3: case 5: case 7: case 8: case 10: case 12:
  75.                         x = 31;
  76.                         break;
  77.                 case 4: case 6: case 9: case 11:
  78.                         x = 30;
  79.                         break;
  80.                 case 2:
  81.                         if ((a.yyyy % 400 == 0) || (a.yyyy % 4 == 0 && a.yyyy % 100 != 0))
  82.                                 x = 29;
  83.                         else
  84.                                 x = 28;
  85.                         break;
  86.                 }
  87.         if (a.dd == x)
  88.         {
  89.                 a.dd = 1;
  90.                 if (a.mm == 12)
  91.                 {
  92.                         a.mm = 1;
  93.                         a.yyyy ++;
  94.                 }
  95.                 else
  96.                         a.mm ++;
  97.         }
  98.         else
  99.                 a.dd ++;
  100.         return a;
  101. }
  102. //TÁC GIẢ CODE: TRẦN MINH AN