fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. struct Ngay
  5. {
  6. int ngay,thang,nam;
  7. };
  8.  
  9. void nhap(Ngay &n)
  10. {
  11. cin>>n.ngay>>n.thang>>n.nam;
  12. }
  13.  
  14. bool kt(Ngay n)
  15. {
  16. int a;
  17. if(n.nam<=0){
  18. // cout<<"nam khong hop le";
  19. return false;
  20. }
  21. else if(n.thang<=0||n.thang>12){
  22. // cout<<"thang khong hop le";
  23. return false;
  24. }
  25. else {
  26. switch(n.thang)
  27. {
  28. case 1:
  29. case 3:
  30. case 5:
  31. case 7:
  32. case 8:
  33. case 10:
  34. case 12:
  35. a=31;
  36. break;
  37.  
  38. case 2:
  39. if(n.nam%4==0&&n.nam%100!=0||n.nam%400==0){
  40. a=29;
  41. break;
  42. }
  43. else{
  44. a=28;
  45. break;
  46. }
  47.  
  48. case 4:
  49. case 6:
  50. case 9:
  51. case 11:
  52. a=30;
  53. break;
  54. }
  55. if(n.ngay<=0||n.ngay>a){
  56. // cout<<"ngay khong hop le";
  57. return false;
  58. }
  59. }
  60. return true;
  61.  
  62. }
  63.  
  64. void ngayketiep(Ngay n)
  65. {
  66. n.ngay++;
  67. if(kt(n)==false){
  68. n.ngay=1;
  69. n.thang++;
  70. if(n.thang>12){
  71. n.thang=1;
  72. n.nam++;
  73. }
  74. }
  75. cout<<n.ngay<<"/"<<n.thang<<"/"<<n.nam;
  76. }
  77.  
  78. int main()
  79. {
  80. Ngay n;
  81. nhap(n);
  82. if(kt(n)){
  83. ngayketiep(n);
  84. }
  85. if(!kt(n)){
  86. cout<<"ngay khong hop le";
  87. }
  88. }
  89.  
Success #stdin #stdout 0.01s 5316KB
stdin
31 12 2023
stdout
1/1/2024