c语言程序设计-打印月历

更新时间:2023-11-10 21:38:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言课程设计》 课程设计报告

题 目 学 号 姓 名 年级专业 指导教师 完成日期

安徽师范大学物理与电子信息学院

College of Physics and Electronic Information, Anhui Normal University

2

一、 问题描述

1)

2)

3)

日期按星期排列

日历查询,输入日期进行查询。

闰年判断功能显示查询日期所在月份的月历,还将显示所在年份

是否为闰年。

二、 问题分析

对于要求1:根据蔡勒公式,可以很容易地有年月日推断出星

期:

rst=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+ds; wkd=rst%7;

4)

对于要求2: 在打印月历时,只要知道第一天的星期,就可以

依次输入后面的日期,通过定长度输出日期,在遇到某天时星期六时,就换行输出,因此可以按照月历的格式输出。

5)

对于要求3:闰年的判断,能被4整除但不能被100整除,或者能被

400整除的年份为闰年,否则为平年。日期的查询,就是直接打印改天所在

月份的月历。

三、 小组成员:

3

四、 总体设计 功能模块

输入日期 日期查询 闰年判断 排列星期 月历显示

流程图

进入程序 输入年月 判断闰年 按星期排输出月历

4

五、 详细设计

主要函数:

int runYear(int year);

该函数判断某年是否是闰年,参数year表示要判断的年份,返回值1表示该年为闰年,0表示该年为平年。 int CalWkd(int yr,int mth)

该函数确定每月的天数,闰年二月为29天。 showcld(int wkd,int mtd)

该函数用以根据一个日期推断星期,参数为要判断的年月日。返回值为整型,123456分别表示星期一到星期六,0表示星期天。

六、 程序清单

#include

int JgYr(int yr) {

if (yr%4==0&&yr0!=0||yr0==0&&yr@0==0) return 1; else

return 0; }

int CalWkd(int yr,int mth) {

int ds=0,i,rst,wkd;

int mthd[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; if (JgYr(yr)) mthd[2]=29;

for (i=1;i

rst=yr-1+(int)((yr-1)/4)-(int)((yr-1)/100)+(int)((yr-1)/400)+ds; wkd=rst%7; return wkd; }

showcld(int wkd,int mtd)

5

{

int dt=1,i,j=0;

printf(\ for (i=0;i

printf(\ j++; }

while (j!=7) {

printf(\ if (j<6)

printf(\ else

printf(\ dt++; j++; }

while (1) {

for (j=0;j<7;j++) {

printf(\ if (j!=6)

printf(\ else

printf(\ if (dt!=mtd) dt++; else

return 0; } } }

int main() {

int

yr,mth,mtd,wkd,mthd[13]={0,31,28,31,30,31,30,31,31,30,31,30,31}; printf(\ scanf(\ if (yr<0||mth<1||mth>12) return 0; if (JgYr(yr))

6

mthd[2]=29;

mtd=mthd[mth];

wkd=CalWkd(yr,mth); showcld(wkd,mtd);

return 0; }

七、 测试数据

7

八、 心得体会

经过两周的奋战,终于达到了预定的效果,完成了该信息系统的设计和编写。

此程序是一个功能比较完整的能实现一定的实际功能的程序,代码比较短,不到100行,实现的功能有显示当前日历,闰年的判断,按星期显示。然后在程序编写过程中,遇到了问题,比如在输入年月格式不正确的情况下,有时会出现程序崩溃。到写报告为止,漏洞基本被找出,并得到修正。通过写这个程序,我对C语言有了更深的认识,C语言是一门较为实用的计算机语言。

在本次课程设计中,要感谢老师的指导,也要感谢提供意见和建议的同学,才得以大致完成该设计。通过本次设计我也明白了团队合作的重要,也体会到了编程的乐趣。再次感谢老师的指导!

九、 参考文献

? 谭浩强,c语言设计教程,清华大学出版社,2007年

? 赵永哲,李雄飞,戴秀英编著,《c语言设计程序》,科学出版社,2003年

? 夏宽理,赵志正编著,《c语言程序设计》,中国铁道出版社,2006年

? 谭浩强编著,《c程序设计》,清华大学出版社,1991年

8

物理与电子信息学院课程设计评定意见

主要内容包括:设计报告内容的完整性和完成情况、报告格式的规范性、通过课程设计取得的收获等。 指导教师评语 成绩: 签名: 年 月 日

本文来源:https://www.bwwdw.com/article/bf0v.html

Top