Cách tính thứ khi biết ngày tháng năm C/C++

Tính thứ khi biết ngày tháng năm
Tính thứ khi biết ngày tháng năm

Cách tính thứ khi biết ngày tháng năm như nào? Bạn có biết bằng cách nào các ứng dụng lịch có thể xác định thứ của các ngày từ quá khứ tới tương lai tít tắp như vậy không? Bởi vì chúng ta có thể tính toán được việc đó. Bây giờ bạn có một bài tập C/C++ như sau: Hãy nhập vào ngày tháng năm, in ra hôm đó là thứ mấy? Hãy cùng Nguyễn Văn Hiếu Blog đi giải quyết bài tập này nhé.

Cách tính thứ khi biết ngày tháng năm

1. Bài toán tính thứ khi biết ngày tháng năm

Trong cuộc sống tất bật, chúng ta thường xuyên phải xác định ngày hôm nay là thứ mấy trong tuần. Chẳng hạn như, kiểm tra sinh nhật của thằng bạn rơi vào thứ mấy? Hay thực tế hơn, bạn có một ứng dụng muốn hiện thị đầy đủ thông tin thời gian… Và lý do hợp lý nhất, bạn muốn biết bằng cách nào có thể xác định thứ mấy khi biết ngày tháng năm. Không dài dòng nữa, chúng ta sẽ cùng đi thẳng vào vấn đề nhé.

2. Tính thứ khi biết ngày tháng năm như nào?

Để xây dựng một chương trình tính thứ cho biết trước ngày tháng năm, chúng ta cần thực hiện các công việc tuần tự như sau:

  1. Nhận các thông tin ngày, tháng, năm được nhập bởi người dùng
  2. Kiểm tra thông tin nhập là hợp lệ
  3. Kiểm tra năm đó có phải năm nhuận không
  4. Xác định ngày đó là ngày thứ mấy trong tuần sử dụng Julien_day Calculation

Dưới đây là code trên ngôn ngữ C/C++ thực hiện tính thứ khi biết ngày tháng năm. Các bạn có thể dùng tham khảo:

Output:

3. Giải thích chương trình

check_yearcheck_monthcheck_day là các hàm giúp chúng ta kiểm tra năm, tháng, ngày của người dùng nhập vào có hợp lệ hay không. Nếu không hợp lệ, chúng ta sẽ dừng chương trình. Ngược lại, nếu hợp lệ chúng ta tiếp tục.

check_leap_year là hàm kiểm tra một năm có phải năm nhuận không?

Hàm get_day sẽ giúp chúng ta tính toán chính xác ngày tháng năm đó là thứ mấy. Công thức dưới đây dựa trên Julian Day Calculation

Sau khi thực hiện tính với công thức này, chúng ta sẽ thu được ngày của tuần ở dạng số.

Hi vọng bài chia sẻ hữu ích với các bạn, chúc các bạn học tốt!

avatar
  Subscribe  
Notify of