| 注册
请输入搜索内容

热门搜索

Java Linux MySQL PHP JavaScript Hibernate jQuery Nginx
w427
10年前发布

C语言实现的万年历

#include<stdio.h>  #include<conio.h>  static char *months[]={"January",               "February",               "March",               "April",               "May",               "June",               "July",               "August",               "September",               "October",               "November",               "December"};  void main()  {  static int days[12]={31,28,31,30,31,30,31,31,30,31,30,31};  long int ndays,ldays,tydays,tdays;  int d,i,m,fday,y;  char ch;  textcolor(LIGHTGREEN);  textbackground(LIGHTBLUE);  clrscr();  printf("Enter year(1900 onwards) & month(number):");  scanf("%d%d",&y,&m);  while(1)  {  ndays=(y-1)*365l;  ldays=(y-1)/4-(y-1)/100+(y-1)/400;  tdays=ndays+ldays;//total days  //check for leap year  if((y%100==0 && y%400==0)||(y%4==0 && y%100!=0))  days[1]=29;  else  days[1]=28;  d=days[m-1];  tydays=0;  for(i=0;i<=m-2;i++)  tydays=tydays+days[i];  tdays=tydays+tdays;  fday=tdays%7;  cal(y,m,fday,d);  ch=getche();  switch(ch)  {  case 77:  if(m==12)  {  y++;  m=1;  }  else  m++;  break;  case 72:  y++;  continue;  case 75:  if(m==1)  {  y--;  m=12;  }  else  m--;  break;  case 80:  y--;  continue;  case 27:  exit(0);  }}}  cal(int yr,int mo,int fd,int da)  {  int i,r,c;  char a;  clrscr();  gotoxy(25,2);  printf("%s  %d",months[mo-1],yr);  textcolor(LIGHTGREEN);  gotoxy(5,5);  printf("____________________________________________________");  gotoxy(10,6);  printf("MON   TUE   WED   THU   FRI   SAT   SUN");  gotoxy(5,7);  printf("____________________________________________________");  r=9;  c=11+(6*fd);  for(i=1;i<=da;i++)  {  gotoxy(c,r);  if(c==47)  textcolor(RED);  else  textcolor(LIGHTGREEN);  cprintf("%d",i);  if(c<=41)  c=c+6;  else  {  c=11;  r=r+1;  }  }  textcolor(LIGHTGREEN);  gotoxy(5,15);  printf("____________________________________________________");  gotoxy(11,17);  printf("UP-Next Year          DOWN-Prev Year");  gotoxy(11,18);  printf("RIGHT-Next Month      LEFT-Prev Month");  gotoxy(27,20);  printf("Esc-Exit");  return 0;  }