當前位置:編程學習大全網 - 編程語言 - 年歷編程

年歷編程

# include & ltstdio.h & gt

# include & lttime.h & gt

# include & ltstdlib.h & gt

//打印當年的日歷,輸出到以妳的學號命名的文件夾下的文件名。

const char輸出文件名!\n”,年,START _ YEAR);

返回;

}

/*檢查輸入的月份*/

如果(月& lt0 ||月& gt12)

{

printf("非法月份:%d!月份必須在範圍內!\n”,年,START _ YEAR);

返回;

}

/* * * * * * * * * * * * * * * * * *開始打印日歷* * * * * * * * * * * *

/*日歷年度標題*/

printf("日歷%d\n ",年份);

for(start month = 1;startMonth<=12;start month+= showMonthNumPerLine)

{

showMonthNumPerLine =(start month+maxShowMonthNumPerLine)& lt;=12 ?maxShowMonthNumPerLine:(12-start month+1);

/* 1日歷月頭*/

for(month = start month;月份& lt(start month+showMonthNumPerLine);月++)

{

printf("%-28s ",MONTH _ NAME[MONTH-1]);

}

printf(" \ n ");

/* 2年日歷的周首*/

for(month = start month;月份& lt(start month+showMonthNumPerLine);月++)

{

for(I = 0;我& lt7;i++)

{

printf("%s ",WEEK _ NAME _ SHORT[I]);

}

printf(" ");

}

printf(" \ n ");

//分割線

for(month = start month;月份& lt(start month+showMonthNumPerLine);月++)

{

for(I = 0;我& lt4*7;i++)

{

printf(" _ ");

}

printf(" ");

}

printf(" \ n ");

/*數據初始化*/

for(month = start month;月份& lt(start month+showMonthNumPerLine);月++)

{

//每月第壹天的星期

first day ofmonthinweekday[month-start month]= getfirst day ofmonthinweekday(年,月);

//壹個月中的某幾天

daysofmount[month-start month]= getdaysofmount(年,月);

//已經輸出的天數計數器

days counter[month-start month]=-first day ofmonthinweekday[month-start month]+1;

}

/*每天安排3個日歷*/

showMonthCounterPerLine = 0;

while(showMonthCounterPerLine & lt;showMonthNumPerLine)

{

for(month = start month;月份& lt(start month+showMonthNumPerLine);月++)

{

for(I = 0;我& lt7;i++)

{

if(days counter[month-start month]& lt;= 0 | | days counter[month-start month]& gt;每月的第幾天

{

printf("%4s "," ");

}

其他

{

printf("%3d ",days counter[month-start month]);

}

days counter[month-start month]++;

if(days counter[month-start month]& gt;每月的第幾天

{

showmonthcounterperline++;

}

}

printf(" ");

}

printf(" \ n ");

}

//分割線

for(month = start month;月份& lt(start month+showMonthNumPerLine);月++)

{

for(I = 0;我& lt4*7;i++)

{

printf(" _ ");

}

printf(" ");

}

printf(" \ n ");

}

}

int main(int argc,char *argv[])

{

int年,月;

time_t t = time(空);

struct tm* now = localtime。t);

int選擇;

/*

1

顯示任意年份和月份的日歷。

以每行兩個月的格式輸出當年的歷書。

以每行兩個月的格式輸出任何壹年的歷書。

*/

while(1)

{

printf("××××××××××××××\ n ");

Printf("1輸出當前月份的月歷1 \ n ");

Printf("2輸出當前年份歷書2 \ n ");

Printf("3指定任意年份和月份的日歷3 \ n ");

Printf("4指定任何壹年的日歷4 \ n ");

printf(" 5 exits 5 \ n ");

printf("××××××××××××××\ n ");

scanf("%d ",& amp選擇);

開關(選擇)

{

案例1:

printMonthCalendar(現在-& gt;tm_year+1900,現在-& gt;TM _ mon+1);

打破;

案例二:

printYearCalendar(現在-& gt;tm_year+1900,2);

打破;

案例三:

Printf("輸入年月(YYYY-MM):");

scanf("%d-%d ",& amp年份& amp月);

printMonthCalendar(年、月);

打破;

案例4:

Printf("輸入年份(YYYY):");

scanf("%d-%d ",& amp年份);

printYearCalendar(year,2);

打破;

案例5:

退出(0);

默認值:

Printf("選擇錯誤,請重新選擇\ n ");;

};

}

返回0;

}

  • 上一篇:vr技術淺析論文2000字範文
  • 下一篇:西昌哪裏可以買到告白蠟燭?
  • copyright 2024編程學習大全網