Đề bài: Hãy viết lệnh bằng ngôn ngữ C++, Nhập từ bàn phím ngày/tháng/năm theo dạng dd/mm/yyyy, sau đó in ra số thứ tự của ngày đó trong năm
Ý tưởng: Viết các hàm kiểm tra năm nhuận hay không, kiểm tra tháng có bao nhiêu ngày…
Chú ý: Năm nhuận là năm chia hết cho 4 nhưng không chia hết cho 100 hoặc nếu chia hết cho 4 và cho cả 100 thì phải chia hết cho 400
Code: Đoạn code dưới đây do chính Ngọc Khương viết, bạn nào có ý tưởng khác thì đừng chém nhá
/*Nhap 1 ngay tu nguoi dung co dang dd/mm/yyyy.
Xuat ra thu tu cua ngay do trong nam.
Chu y nam nhuan (Chia het cho 4, tuy nhien neu chia het cho 100 thi phai chi het cho 400*/
#include <iostream>
using namespace std;
int ktnam(int a) // Kiem tra nam co nhuan hay khong? http://ngockhuong.com
int dem=0;
if (a%4==0)
if (a%100!=0) dem=366;
if ((a%100==0)&&(a%400!=0)) dem=365;
if ((a%100==0) && (a%400==0)) dem=366;
else dem=365;
return dem;
int thangs(int m) // Kiem tra so ngay cua thang http://ngockhuong.com
int dem=0;
switch(m)
case 1: case 3: case 5: case 7: case 8: case 10: case 12: dem=31;break;
case 4: case 6: case 9: case 11: dem=30;break;
case 2: dem=28; break;
return dem;
int main()
int d,m,y,tt,i;
tt=0;
cout<<"Nhap ngay thang nam dang dd/mm/yyyy: ";
cin>>d;
cin.ignore(1);
cin>>m;
cin.ignore(1);
cin>>y;
for (i=1;i<m;i++)
tt+=thangs(i);
if (m==1) tt=d;
else
if (ktnam(y)==365) tt=tt+d;
if (ktnam(y)==366) tt=tt+d+1;
cout<<"Ngay vua nhap la ngay thu "<<tt<<" trong nam";
return 0;
Cái này mình viết trên CodeBlock. Nếu bạn viết trên DEV C++ thì thêm đoạn: system(“pause”); sau lệnh return 0; nhá
Đậy là demo ảnh:
Chúc các bạn học tốt lập trình!
Code C++ tìm số thứ tự của một ngày trong năm
0 nhận xét:
Đăng nhận xét
Click to see the code!
To insert emoticon you must added at least one space before the code.