Đề 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á  i9


/*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á  i12


Đậy là demo ảnh:


Ashampoo Snap 2014.11.15 13h02m15s 002 E Lap Trinh C BT BaiTaplan3 ngay thang nam exe


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

:) :)) ;(( :-) =)) ;( ;-( :d :-d @-) :p :o :>) (o) [-( :-? (p) :-s (m) 8-) :-t :-b b-( :-# =p~ $-) (b) (f) x-) (k) (h) (c) cheer
Click to see the code!
To insert emoticon you must added at least one space before the code.