C++ - Tìm số ngày của một tháng bất kỳ được nhập từ bàn phím

Viết một chương trình in ra màn hình số ngày của một tháng bất kỳ được nhập từ bàn phím

Bài giải

-------------------- ######## --------------------

Một năm chúng ta có 12 tháng, mỗi tháng sẽ có số ngày khác nhau, được liệt kê trong bảng dưới đây:

Tháng Số ngày
Tháng 1, 3,  5, 7, 8, 10, 12 31 ngày
Tháng 2 28 hoặc 29 ngày
Tháng 4, 6, 9, 11 30 ngày

Cách giải bài toán trên như sau:

  • Nhập tháng từ bàn phím, ta gọi biến này là thang
  • Sử dụng cấu trúc switch case với giá trị truyền vào để kiểm tra là thang, cụ thể switch(thang)
  • Kiểm tra từng trường hợp nếu tháng 1, 3, 7, 8, 10, 12 thì in ra màn hình 31 ngày
  • Nếu tháng 2 in ra màn hình 28 hoặc 29 ngày
  • Nếu tháng 4. 6, 9, 11 in ra màn hình 30 ngày
  • Nếu giá trị tháng không nằm trong khoảng từ 1 đến 12 thì in ra màn hình tháng không hợp lệ

Chúng ta cùng giải bài toán trên bằng cách sử dụng cấu trúc điều khiển switch case trong C++ như sau:

#include <iostream>
using namespace std; 

int main()
{
    int thang;

    cout << "Thang: ";
    cin >> thang;

    switch(thang) {
        case 1: 
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
            cout << "Thang " << thang  << " co 31 ngày" << endl;
            break;
        case 2: 
            cout << "Thang " << thang  << " co 28 hoac 29 ngày" << endl;
            break;
        case 4: 
        case 6: 
        case 9:
        case 11: 
             cout << "Thang " << thang  << " co 30 ngày" << endl;
            break;
        default: 
            cout << "Thang khong hop le" << endl;
    }
    return 0;
}

Kết quả sau khi thực thi chương trình trên như sau:

Khi nhập tháng bằng 1:

Khi nhập tháng bằng 2:

Khi nhập tháng bằng 3:

Khi nhập tháng bằng 4:

Khi nhập tháng bằng 5:

Khi nhập tháng bằng 12:

Nguồn: freetuts.net