⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calendar.c

📁 This program prints a calendar for a year specified. The user enters a year for the calendar a
💻 C
字号:
/*This program prints a calendar for a year specified. The user enters a     year for the calendar and the programs automatically prints the calendar     in text format.     The codes are: day_code (0 = Sun, 1 = Mon, etc.)                    leap_year (0 = no leap year, 1 = leap year)   */#include <stdio.h>#include <stdlib.h>       #define TRUE 1#define FALSE 0int get_day_code (int year);int get_leap_year (int year);void print_calendar (FILE *fout, int year, int day_code, int leap_year);int get_year (void);main(){      int year, day_code, leap_year;       FILE *fout;      fout = fopen ("calendar.txt", "w");      year = get_year();                                 day_code = get_day_code (year);      leap_year = get_leap_year (year);      print_calendar(fout, year, day_code, leap_year);      printf("Open up \'calendar.txt\' to see your calendar...\n");      system("pause");     }     int get_year (void){int year;printf ("Enter a year: ");scanf ("%d", &year);return year;}             int get_day_code (int year){int day_code;int x1, x2, x3;	x1 = (year - 1.)/ 4.0;	x2 = (year - 1.)/ 100.;	x3 = (year - 1.)/ 400.;day_code = (year + x1 - x2 + x3) %7;return day_code;}             int get_leap_year (int year){	//if((year% 4) == 0 );if(year% 4==0 && year%100 != 0 || year%400==0)   return TRUE;   else return FALSE;			}void print_calendar (FILE *fout, int year, int day_code, int leap_year) //function header{	int  days_in_month,     /* number of days in month currently                                                      being printed */         day,       /* counter for day of month */         month;     /* month = 1 is Jan, month = 2 is Feb, etc. */     fprintf (fout,"                   %d", year);     for ( month = 1; month <= 12; month++ ) {          switch ( month ) { /* print name and set days_in_month */          case 1:               fprintf(fout,"\n\nJanuary" );               days_in_month = 31;               break;          case 2:               fprintf(fout,"\n\nFebruary" );               days_in_month = leap_year ? 29 : 28;               break;          case 3:               fprintf(fout, "\n\nMarch" );               days_in_month = 31;               break;          case 4:               fprintf(fout,"\n\nApril" );               days_in_month = 30;               break;          case 5:               fprintf(fout,"\n\nMay" );               days_in_month = 31;               break;          case 6:               fprintf(fout,"\n\nJune" );               days_in_month = 30;               break;          case 7:               fprintf(fout,"\n\nJuly" );               days_in_month = 31;               break;          case 8:               fprintf(fout,"\n\nAugust" );               days_in_month = 31;               break;          case 9:               fprintf(fout,"\n\nSeptember" );               days_in_month = 30;               break;          case 10:               fprintf(fout,"\n\nOctober" );               days_in_month = 31;               break;          case 11:               fprintf(fout,"\n\nNovember" );               days_in_month = 30;               break;          case 12:               fprintf(fout,"\n\nDecember" );               days_in_month = 31;               break;          }          fprintf(fout,"\n\nSun  Mon  Tue  Wed  Thu  Fri  Sat\n" );          /* advance printer to correct position for first date */          for ( day = 1; day <= 1 + day_code * 5; day++ )               fprintf(fout," " );          /* print the dates for one month */          for ( day = 1; day <= days_in_month; day++ ) {               fprintf(fout,"%2d", day );               if ( ( day + day_code ) % 7 > 0 ) /* before Sat? */                    /* move to next day in same week */                    fprintf(fout,"   " );               else  /* skip to next line to start with Sun */                    fprintf(fout, "\n " );          }          /* set day_code for next month to begin */          day_code = ( day_code + days_in_month ) % 7;     }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -