Viết chương trình nhập tháng, năm. Hãy cho biết tháng đó có bao nhiêu ngày bằng Python và C++
Viết chương trình để xác định số ngày trong một tháng là một nhiệm vụ quan trọng trong lập trình. Chương trình này cho phép người dùng nhập tháng và năm, sau đó xác định số ngày trong tháng đó, dựa trên các quy tắc về tháng của lịch. Việc này có ứng dụng rộng rãi trong việc xây dựng ứng dụng lịch, quản lý dự án, và các ứng dụng khác liên quan đến thời gian.
Chương trình bắt đầu bằng việc nhận đầu vào từ người dùng, bao gồm tháng và năm. Sau đó, nó kiểm tra các trường hợp đặc biệt như tháng 2 (có thể là 28 hoặc 29 ngày tùy thuộc vào năm nhuận), và các tháng khác (tháng 4, 6, 9, 11 có 30 ngày, các tháng còn lại có 31 ngày). Nếu người dùng nhập tháng không hợp lệ, chương trình sẽ thông báo lỗi. Chương trình này là một ví dụ cơ bản về cách xử lý thời gian và đầu vào từ người dùng trong lập trình.
Viết chương trình nhập tháng, năm. Hãy cho biết tháng đó có bao nhiêu ngày bằng Python
# Nhập tháng và năm từ người dùng try: month = int(input("Nhập tháng (1-12): ")) year = int(input("Nhập năm: ")) except ValueError: print("Lỗi: Vui lòng nhập số nguyên cho tháng và năm.") exit(1) # Xác định số ngày trong tháng if 1 <= month <= 12: if month == 2: # Xác định tháng 2 (tháng có thể có 28 hoặc 29 ngày) if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0): num_days = 29 else: num_days = 28 elif month in [4, 6, 9, 11] : # Tháng có 30 ngày num_days = 30 else: # Các tháng còn lại có 31 ngày num_days = 31 print(f"Tháng {month} năm {year} có {num_days} ngày.") else: print("Lỗi: Tháng không hợp lệ. Vui lòng nhập số từ 1 đến 12.")
Chương trình này sẽ nhập tháng và năm từ người dùng, sau đó kiểm tra tháng có hợp lệ không và xác định số ngày trong tháng đó. Điều kiện đặc biệt xử lý tháng 2 để xem liệu nó có 28 hoặc 29 ngày dựa trên năm nhuận hay không. Sau đó, chương trình in ra số ngày trong tháng đó hoặc thông báo lỗi nếu tháng không hợp lệ.
Viết chương trình nhập tháng, năm. Hãy cho biết tháng đó có bao nhiêu ngày bằng C++
#include <iostream> int main() { int month, year; // Nhập tháng và năm từ người dùng std::cout << "Nhập tháng (1-12): "; std::cin >> month; std::cout << "Nhập năm: "; std::cin >> year; // Xác định số ngày trong tháng int num_days; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: num_days = 31; break; case 4: case 6: case 9: case 11: num_days = 30; break; case 2: if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { num_days = 29; } else { num_days = 28; } break; default: std::cout << "Lỗi: Tháng không hợp lệ. Vui lòng nhập số từ 1 đến 12." << std::endl; return 1; // Kết thúc chương trình với mã lỗi 1 nếu tháng không hợp lệ } std::cout << "Tháng " << month << " năm " << year << " có " << num_days << " ngày." << std::endl; return 0; }
Giải thích từng phần của mã:
- Chương trình khai báo biến
month
vàyear
để lưu giữ giá trị tháng và năm nhập từ người dùng. - Sử dụng
std::cout
để yêu cầu người dùng nhập tháng và năm. - Chương trình sử dụng một câu lệnh
switch
để kiểm tra giá trị của biếnmonth
và xác định số ngày trong tháng. - Trong các trường hợp của
case
, chương trình xác định số ngày dựa trên quy tắc thông thường của các tháng: tháng 1, 3, 5, 7, 8, 10 và 12 có 31 ngày, tháng 4, 6, 9 và 11 có 30 ngày. - Đối với tháng 2, chương trình kiểm tra xem năm đó có phải là năm nhuận hay không và dựa trên kết quả này xác định số ngày (29 hoặc 28).
- Trong trường hợp mà
month
không khớp với bất kỳcase
nào, chương trình in ra thông báo lỗi và kết thúc với mã lỗi 1. - Cuối cùng, chương trình in ra số ngày trong tháng hoặc thông báo lỗi (nếu tháng không hợp lệ).