Hướng dẫn in lịch của 1 tháng bất kỳ trong năm

Ấn Like và +1 để giúp blog được duy trì và phát triển nhé bạn

 Đề bài: Yêu cầu người dùng nhập tháng và năm từ bàn phím. Kiểm tra xem tháng và năm nhập có hợp lệ hay không, nếu hợp lệ thì in ra lịch của tháng đó. Hình minh họa lịch tháng 1 năm 2014:


Yêu cầu: 
  1. Phải xem bài viết này trước: Bài hướng dẫn số 4 - Lập trình căn bản
Video: 



Mã lệnh:
#include <stdio.h>

int
main(){
int
month,year;
printf("Moi nhap thang nam: ");
scanf("%d%d",&month,&year);
if
(year < 1582){
printf("Nam khong hop le! Nam bat dau tu 1582");
return
1;
}

if
(month< 1 || month>12){
printf("Thang khong hop le");
return
2;
}

int
top = 31;
switch
(month){

case
4: case 6: case 9: case 11:
top = 30;
break
;
case
2:
top = ( (year%4==0 && year%100 != 0) || (year % 400 ==0)) ? 29: 28;
break
;
}


int
d = 1;
int
a = (14-month)/12;
int
y = year - a;
int
m = month+12*a-2;
int
dow = (d+y+y/4-y/100+y/400+(31*m)/12)%7;
printf("%3s%3s%3s%3s%3s%3s%3s\n","S","M","T","W","T","F","S");
for
(int i=0;i<7;i++)
if
(i<dow)
printf(" ");
else

printf("%3d",d++);
printf("\n");
do
{
for
(int i=0;i<7;i++)
if
(d<=top)
printf("%3d",d++);
printf("\n");
}
while(d<=top);


return
0;
}

Bài liên quan

Bài liên quan