万年历文档

2022-10-04 16:42:18   文档大全网     [ 字体: ] [ 阅读: ]

#文档大全网# 导语】以下是®文档大全网的小编为您整理的《万年历文档》,欢迎阅读!
万年历,文档
内容:设计一个查询并打印万年历的程序。 要求:

1 查询某年某月某日是星期几 2 打印某年的某月的全月日历 3 打印某年的全年日历 4 退出

2 在主菜单中输入1后,显示: “请输入年月日(XXXXXXXX

运行后输出:XXXXXXXX日是星期X,是否继续查询(Y/N)? 如果输入Y,则重新显示 “请输入年月日(XXXXXXXX,否则回到主菜单。

3 在主菜单中输入2后,显示: “请输入要打印的月份(XXXX 运行后输出X月的日历,格式为: X

4 在主菜单中输入3后,显示: “请输入要打印的年份(XXXX 运行后输出XXXX年的日历, XXXX

X(月数)

0 1 2 3 4 5 6 S M T W T F S x x x x x x x x x x xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx X(月数)

0 1 2 3 4 5 6 S M T W T F S x x x x

x x x xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx . . . . .

5 在主菜单中输入4后,显示:“是否要真的退出(Y/N)?” 如果输入Y,结束程序运行,否则重新显示主菜单。


解题 1.

万年历的公式:S=X-1+X-1/4-X-1/100+X-1/400+C 说明:X为公元年数;

C为从元旦起,到要算的那天总天数(如:2003213日,C=31+13=44

S/7余数为星期几(如余数为0123456。分别为星期天,星期一,二,三,四,五,六)

在求解某年某月某日的时候可以使用这个公式进行计算,计算出星期,但这个星期要注意星期日为0所以在输出的时候还要进行调整,可以设置一个数组,将其值设置为char w[7][3]={"","","","","","",""},这样在输出的时候只要找到对应的元素就可以了,而且计算出的这个代表星期的数值可以直接作为下标用。

在计算的时候要注意闰年的特点,因为闰年的二月比较特别,所以最好用两个数组来分别存放平年和闰年每个月份的天数,这样在做计算的时候可以先把那个月之前的月份的天数加起来,然后再把那个月的日期加上

比如423日,可以先把1-3月的所有天数加上,然后再把23加上 2.

在输出某年某月的日历的时候,先计算出当年的一月一日的星期,然后再一个星期一个星期的输出

比如20084月,先计算200841日的星期数,然后再输出,在输出的时候因为11日不一定是星期日,所以得先输出空格,然后再按照星期输出。在输出的时候要注意让星期数累加,然后每次累加到7的倍数就输出一个回车。

比如可以用weekday来存放,11日的星期数,然后每输出一天就让weekday自增1然后到了7的倍数就输出一个回车。

注意在输出的时候可能比较难的是格式,在对齐的时候不好控制,需要多次调整,在输出的时候可以使用%2d,让输出的数字占2个位置,这样1位数和2位数就看起来一样了。 3.

在输出某年日历的时候就比较简单了,可以使用上边输出某月日历的代码,然后循环输出就可以了

4.退出的时候使用exit(0)这个函数就可以退出程序了,需要引入头文件

可以将这个程序分成几个部分来写,然后再合到一起,并且对于“是否继续”的问题可以先不做。通过这个程序可以了解数组的用法,if语句的用法,循环的用法,以及算术表达式的用法,本题目难度不大,并且算法较简单,只是简单的数学公式套用。





本文来源:https://www.wddqxz.cn/46ea9b2b482fb4daa58d4bbd.html

相关推荐