打印万年历的c语言程序,万年历打印系统(c语言程序).doc

万年历打印系统(c语言程序)

PAGE

PAGE 1

#include

#include

#include

#include

void yi_nian();//输出当年日历

int leap(int year);//判断给定年份是否是闰年

long int f(int year,int month);

long int g(int month);

long int n(int year,int month,int day);

int w(int year,int month,int day);

void ch_month_1(int i);//用switch语句将数字转化为英文

int Yi_yue_time();//输出当月日期及当天时间

void getcl(int a[]);//计算当天时间

void printcal(int a[]);//计算当月日期

int date[12][6][7];

int day_tbl[ ][12]={{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30,31,30,31}};

FILE *fp;

int main()

{

yi_nian();

Yi_yue_time();

return 0;

}

//输出当年日历

void yi_nian()

{

int b[7];

int sw,leap,i,j,k,wd,day;

int year;

char title[]="SUM MON TUE WED THU FRI SAT";

getcl(b);

fp=fopen("D:\\rili.txt","w+");

if(!fp)

{

printf("file cannot be opened");

exit(0);

}

year=b[0];

sw=w(year,1,1);

leap=year%4==0&&year%100||year%400==0;

for(i=0;i<12;i++)

for(j=0;j<6;j++)

for(k=0;k<7;k++)

date[i][j][k]=0;

for(i=0;i<12;i++)

for(wd=0,day=1;day<=day_tbl[leap][i];day++)

{

date[i][wd][sw]=day;

sw=++sw%7;

if(sw==0) wd++;

}

fprintf(fp,"当年日历:\n");

fprintf(fp,"\n *The Calendar of Year %d* \n ",b[0]);//输出当年日历的表头

printf("当年日历:\n");

printf("\n *The Calendar of Year %d* \n ",b[0]);

for(i=0;i<6;i++)

{

for(wd=0,k=0;k<7;k++)

wd+=date[i][5][k]+date[i+6][5][k];

wd=wd?6:5;

fprintf(fp,"\n ");

//用switch语句将数字转化为英文

switch(i+1)

{

case 1:fprintf(fp,"January ");break;

case 2:fprintf(fp,"Februry ");break;

case 3:fprintf(fp,"March ");break;

case 4:fprintf(fp,"April ");break;

case 5:fprintf(fp,"May ");break;

case 6:fprintf(fp,"June ");break;

case 7:fprintf(fp,"July ");break;

case 8:fprintf(fp,"August ");break;

case 9:fprintf(fp,"September");break;

case 10:fprintf(fp,"October ");break;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值