#include <iostream> using namespace std; typedef struct OneDay { int DD,MM,YYYY; }OD; void Nhap(OD& x, int& LastDay) { cout << "Nhap ngay: "; cin >> x.DD; cout << "Nhap thang: "; cin >> x.MM; cout << "Nhap nam: "; cin >> x.YYYY; switch (x.MM) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: LastDay = 31; break; case 4: case 6: case 9: case 11: LastDay = 30; break; case 2: if (x.YYYY % 400 == 0 || (x.YYYY % 4 == 0 && x.YYYY % 100 != 0)) LastDay = 29; else LastDay = 28; break; default: LastDay = 0; } if (LastDay == 0 || x.YYYY < 1 || (LastDay != 0 && (x.DD > LastDay || x.DD < 1))) { cout << "Ngay thanh nam khong hop le, vui long nhap lai:" << '\n'; Nhap(x, LastDay); } } void NextDay(OD x,OD &y,int n) { if (x.DD < n) { y.DD = x.DD + 1; y.MM = x.MM; y.YYYY = x.YYYY; } else { if (x.MM != 12) { y.DD = 1; y.MM = x.MM + 1; y.YYYY = x.YYYY; } else { y.DD = 1; y.MM = 1; y.YYYY = x.YYYY + 1; } } } int main() { OD Day1, Day2; int LastDay; Nhap(Day1,LastDay); NextDay(Day1, Day2, LastDay); cout << "Ngay ke tiep la: " << Day2.DD << "/" << Day2.MM << "/" << Day2.YYYY; return 0; } // Created by Akarata 1 Like
Bạn muốn chia sẻ bài tập này của bạn với mọi người??? 2 Likes
vâng! Tôi muốn chia sẻ với mọi người. Home Categories FAQ/Guidelines Terms of Service Privacy Policy
Viết = Hàm (function) Bài 12. Viết chương trình nhập vào ngày, tháng, năm hợp lệ. cho biết năm này có phải là năm nhuận hay không? In kết quả ra màn hình. Trong DƯƠNG LỊCH : Năm nhuận là năm chia hết cho 4, nhưng không chia hết cho 100 (trừ những năm chia hết cho 400 cũng là năm nhuận). Code c:#include <stdio.h> int main() { int ngay, thang, nam; printf("Nhap ngay,thang,nam: "); scanf("%d%d%d",&ngay,&thang,&nam); switch(thang) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: if( ngay>0 && ngay<=31){ printf("Ngay %d thang %d nam %d hop le\n",ngay,thang,nam); break; } else { printf("Ngay %d thang %d nam %d ko hop le\n",ngay,thang,nam); break; } case 4: case 6: case 9: case 11: if( ngay<=30 && ngay>0){ printf("Ngay %d thang %d nam %d hop le\n",ngay,thang,nam); break; } else{ printf("Ngay %d thang %d nam %d ko hop le\n",ngay,thang,nam); break; } case 2: if( ngay <=28 && ngay > 0){ printf("Ngay %d thang %d nam %d hop le\n",ngay,thang,nam); break; } else { printf("Ngay %d thang %d nam %d ko hop le\n",ngay,thang,nam); break; } default: printf("Ngay %d thang %d nam ko hop le\n",ngay,thang,nam); break; } if(nam%400==0) printf("Nam %d la nam nhuan",nam); else { if(nam%4==0 && nam%100!=0) printf("Nam %d la nam nhuan",nam); else printf("Nam %d ko phai la nam nhuan",nam); } } |