Tính Thứ Khi Biết Ngày Tháng Năm

Hướng dẫn tìm số ngày trong tháng

Trong một năm thì các tháng có 31 ngày là: 1, 3, 5, 7, 8, 10, 12.

Đang xem: Viết chương trình nhập vào ngày tháng năm cho biết đó là ngày thứ bao nhiêu của năm

Các tháng có 30 ngày là: 4, 6, 9, 11.

Riêng tháng hai nếu là năm nhuận sẽ có 29 ngày, ngược lại nếu không nhuận thì có 28 ngày.

Như vậy sau khi nhập tháng và năm vào thì ta sẽ kiểm tra tháng đó là tháng mấy. Nếu tháng đó thuộc những tháng {1, 3, 5, 7, 8, 10, 12} thì ta sẽ kết luận tháng đó có 31 ngày. Tương tự những tháng {4, 6, 9, 11} sẽ có 30 ngày. Nếu kiểm tra tháng đó đúng là tháng hai thì ta phải kiểm tra xem năm đó có nhuận không. Nếu nhuận thì tháng đó sẽ có 29 ngày ngược lại thì sẽ là 28 ngày.

Viết chương trình tìm số ngày trong tháng

Xây dựng hàm kiểm tra năm nhuận

Một năm được gọi là nhuận nếu số năm đó chia hết cho 4 mà không chia hết cho 100. Hoặc năm đó chia hết cho 400.

Xem thêm: Các Món Ăn Đặc Sản Hà Nội Vừa Nghe Tên Đã Thèm, Đặc Sản Hà Nội

XEM THÊM:  Bán Gấp Căn Biệt Thự Đơn Lập Ecopark, Bot Protection

Ví dụ 2016 là một năm nhuận.

Code


1
2
3
4
5
6
bool isCheck(int nam) {
if ((nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0)
return true;
return false;
}

Hoặc nếu viết ngắn gọn như dưới đây cũng được


1
2
3
4
bool isCheck(int nam) {
return ((nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0);
}

Xây dựng hàm tìm số ngày trong tháng

Hàm này thì các bạn nên viết dưới dạng switch case sẽ ngắn gọn và logic hơn if else.

Code


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
int fun(int thang, int nam) {
switch (thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if (isCheck(nam))
return 29;
else
return 28;
default:
cout “So thang nhap khong hop le”endl;
exit(0);
}
}

Bình thường các bạn hay thấy người ta dùng các lệnh break; sau case. Nhưng khi return thì hàm đã tự động kết thúc nên chúng ta không cần phải dùng lệnh break để nhảy ra khỏi switch case.

Bây giờ ta chỉ cần kiểm soát dữ liệu nhập vào từ hàm main nữa mà thôi. Một tháng hợp lệ sẽ nằm trong đoạn <1;12> và một năm hợp lệ sẽ lớn hơn bằng 0.

XEM THÊM:  Xu Hướng Thiết Kế Biệt Thự Đồng Quê Tại Anh, Biệt Thự Đẹp Nghỉ Dưỡng Nơi Đồng Quê

Xem thêm: Home – The Cliff Lodge

Code toàn bộ chương trình


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include
using namespace std;
bool isCheck(int nam) {
return ((nam % 4 == 0 && nam % 100 != 0) || nam % 400 == 0);
}
int fun(int thang, int nam) {
switch (thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
return 31;
case 4:
case 6:
case 9:
case 11:
return 30;
case 2:
if (isCheck(nam))
return 29;
else
return 28;
default:
cout “So thang nhap khong hop le”endl;
exit(0);
}
}
int main()
{
int thang, nam;
do {
cout “Nhap thang: “;
cin >> thang;
cout “Nhap nam: “;
cin >> nam;
} while (nam 0 || thang 1 || thang >12);
cout “So ngay trong thang: ” fun(thang, nam) endl;
return 0;
}

1
2
3
4
Nhap thang: 12
Nhap nam: 2018
So ngay trong thang: 31

Bài viết mình đến đây là kết thúc. Cám ơn các bạn đã theo dõi !

TAGS
Facebook
Twitter
Pinterest
WhatsApp

XEM THÊM:  Dàn Sao ' Biệt Thự Táo Đỏ ' Sau 14 Năm Đều, Dàn Diễn Viên Biệt Thự Táo Đỏ Ngày Ấy
*

Giới thiệu website Luyện Code Online

Tổng hợp tài liệu lập trình C/C++ cho người mới

Sự khác nhau giữa C và C++ là gì?

Học lập trình online với mức giá ưu đãi

Bảng băm – Hash tables

1000 bài tập lập trình C/C++ có lời giải của thầy Khang

Subscribe
Connect with
Notify of
new follow-up comments
Name*
Email*
Website
Connect with
Name*
Email*
Website
0 Bình luận
Inline Feedbacks
View all comments
Load More Comments
Khóa học miễn phí
 

Luyện tập tư duy lập trình miễn phí, tham gia ngay

Lập Trình Không Khó là một cộng đồng chia sẻ và đào tạo lập trình phi lợi nhuận hàng đầu tại Việt Nam.

Liên hệ hoặc Hợp tác & Quảng cáo
Blogger
Facebook
Linkedin
RSS
Youtube

BÀI VIẾT HAY

Bài 1. Giới thiệu khóa học “Học C Bá Đạo”

1000 bài tập lập trình C/C++ có lời giải của thầy Khang

Kiểm tra số nguyên tố sử dụng C/C++ và Java

CHUYÊN MỤC HAY

– BẠN BÈ & ĐỐI TÁC –

© 2018-2020. Bản quyền thuộc Lập Trình Không Khó. Privacy & Terms



Would love your thoughts, please comment.x
()
x
| Reply
Insert
NHIỀU BÀI VIẾT HƠN

Giới thiệu website Luyện Code Online

Kiểm tra số nguyên tố sử dụng C/C++ và Java

Giá Biệt Thự Sealink – Bán Nhà Biệt Thự, Dự Án Tại Sea Links City Tp
fusion resort cam ranh
Tác giả

Bình luận

LarTheme