Bài tập môn lập trình C++ Nhập vào ngày, tháng, năm. Kiểm tra xem ngày, tháng, năm đó có hợp lệ hay không? In kết quảra màn hình.

Đây là 1 trong những bài lập trình cũng khá quen thuộc với bạn sinh viên thường được cho ra khi học tới sử dụng hàm switch.... case.... Đây là 1 trong những hàm sẽ được ứng dụng rất nhiều trong thực tế công việc sau này vì thế các bạn cũng cần năm kỹ để biết. Trước tiên kiểm tra ngày tháng nhập vào có hợp lệ không còn phải phụ thuộc vào tháng đó là tháng nào vì mỗi tháng có số ngày khác nhau.

Các bạn có thể xem thêm: Những tháng có 31 30 29 28 ngày trong năm - Số ngày trong các tháng

Mã:
#include <iostream>
#include <conio.h>
#include <stdio.h>
int main ()
{
    int ngay, thang, nam, ngaymax;
    cout<<"Nhap ngay : ";
    cin>>ngay;
    cout<<"Nhap thang : ";
    cin>>thang;
    cout<<"Nhap nam : ";
    cin>>nam;
    if (nam<0 || thang<0 || thang> 12 || ngay<0 || ngay> 31)
    {
        cout<<"Ngay khong hop le";
    }
    else
    {
        switch (thang)
        {
            case 1:
            case 3:
            case 5:
            case 7:
            case 8:
            case 10:
            case 12:
              ngaymax=31;
              break;
            case 2:
                if ((nam%4==0 && nam%100!=0) || (nam%400==0))
                    ngaymax=29;
                else 
                    ngaymax=28;
                break;
            case 4:
            case 6:
            case 9:
            case 11:
                ngaymax=30;
                break;
        }
        if (ngay<=ngaymax)
        {
            cout<<"Ngay hop le !"<<"\n";
        }
        else
        {
            cout<<"Ngay khong hop le !"<<"\n";
        }
    }
}