Đề 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:
- 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
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;
}
0 nhận xét:
Đăng nhận xét