下载此文档

C语言课程设计报告.doc.doc


文档分类:IT计算机 | 页数:约13页 举报非法文档有奖
1/13
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/13 下载此文档
文档列表 文档介绍
C 语言课程设计报告(草稿) 设计题目:年历表设计要求: (1) 输入一个年份, 输出的是在屏幕上显示该年的日历。假定输入年份在 1940-2014 之间。(2) 输入年月,输出该月的日历。(3) 输入年月日,输出距今天还有多少天,星期几,是否为公历节日。设计编码: #include "" #include "" #include "" #define u8 unsigned char #define u16 unsigned int int monthdays[12]={31,28,31,30,31,30,31,31,30,31,30,31}; // 平年各月日数 int leepmonthdays[12]={31,29,31,30,31,30,31,31,30,31,30,31}; // 润年各月日数//u8 const table_week[12]={0,3,3,6,1,4,6,2,5,0,3,5}; // 月份数据表//int year=2014; //int month=9; //int day=17; int type; // 定义输出格式, 若为 1 则输出一年日历为0 则输出一个月的日历 int t=1;// 定义光标 y值 int h=1,h1=1; // 定义行数,确保 1-6 7-12 左右两边行数一致 typedef struct { int w_year; int w_month; int w_date; // int week; }_calendar_obj; _calendar_obj calendar; //={2014,9,20}; // 日历结构体// 闰年判断函数 int Is_Leap_Year(int year) { if(year%4==0) // 必须能被 4 整除{ if(year%100==0) { if(year%400==0)return 1;// 以 00 结尾的要被 400 整除 else return 0; }else return 1; }else return 0; } void gotoxy(int x,int y) // 将光标移动到坐标为(x,y) 的地方{ CONSOLE_SCREEN_BUFFER_INFO csbiInfo; HANDLE hConsoleOut; hConsoleOut = GetStdHandle(STD_OUTPUT_HANDLE); GetConsoleScreenBufferInfo(hConsoleOut,&csbiInfo); = x; = y; SetConsoleCursorPosition(hConsoleOut,); } // 星期号获得// 输入年月日得到星期几范围( 1901-2099 ) // 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1) mod 7 u8 get_weekday(int y,int m,int d) { if(m==1||m==2) { m+=12; y--; } int weekday=(d+2*m+3*(m+1)/5+y+y/4-y/100+y/400+1)%7; return weekday; } // 月份输出显示函数 void print_month(int y,int m) { int i=0,k; int startday=get_weekday(y,m,1); if((type==1)&&(m>6)) //6-12 月的星期标显示{ gotoxy(40,t); printf(" %1d SUN MON TUE WED THU FRI SAT\n",m); t++; } else //1-6 月的星期标显示 printf(" %1d SUN MON TUE WED THU FRI SAT\n",m); if(Is_Leap_Year(y)) // 闰年输出显示{ for(i=1;i<=leepmonthdays[m-1];i++) { if((type==1)&&(m>6)) // 当年输出时 6-12 月输出{ if(i==1) // 若是本月的最初一天,则将前面的星期空掉{gotoxy(44,t); // printf(" "); for(k=0;k<startday;k++) { printf(" "); }} printf("%4d",i); if((startday+i)%7==0) { //printf(

C语言课程设计报告.doc 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数13
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xinsheng2008
  • 文件大小0 KB
  • 时间2016-04-26