C语言课程设计万年历范例.doc

C语言课程设计万年历范例.doc

ID:50707991

大小:31.00 KB

页数:8页

时间:2020-03-07

C语言课程设计万年历范例.doc_第1页
C语言课程设计万年历范例.doc_第2页
C语言课程设计万年历范例.doc_第3页
C语言课程设计万年历范例.doc_第4页
C语言课程设计万年历范例.doc_第5页
资源描述:

《C语言课程设计万年历范例.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、C语言课程设计计算机科学与技术专业****班学号:******姓名:******目录序言…………………………………1说明……………………………………2流程图………………………………3源代码………………………………4小结……………………………………5序言1.经过上一个学期对《C程序设计》的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和

2、运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。本程序是一个万年历程序,可以输出公元一年一月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。2.课程设计题目:万年历要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。指导老师:翟海霞说明一.算法分析说明:1.总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,

3、是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。2.输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3.算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起

4、一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。二.要用到的函数和语句1.,,/*头文件*/2.main()/*主函数*/3.printf(),4.scanf()5.textbackground(),textcolor()/*定义背景和字体颜色*/6.if语句7.for语句8.printstar()/*调用函数*/9.intday_year()/*定义函数*/10.goto/*循环语句*/流程图1.图一

5、输入的年份判断从定义年到输入的年份中每个年份是否为闰年是否每年为366天每年为365天返回该年的天数2.图二输入的年月判断输入年是否为定义年是否总天数S=1总天数S为定义年到输入年的总天数把S加上该年一月到输入月份的天数,再加1判断输入的月份是否为闰年中的月份是否该月是否大于二月是否把S加上该年一月到输入月份的天数把S再加上该把S加上该年年一月到输入一月到输入月的月份的天数份的天数再加1总天数为S判断S的最后一天为星期几从这一天起依次输出输入月份的天数直到该月底为止源代码#include#i

6、nclude#includemain(){longs=1;inta[14]={0,0,31,28,31,30,31,30,31,31,30,31,30,31};inty,m,p,i,j,k,n,leap;intday_year(inty);textbackground(RED);textcolor(YELLOW);clrscr();printf("pleaseinputtheyear:");scanf("%d",&y);printf("");printf("pleasei

7、nputthemonth:");scanf("%d",&m);printf("");textbackground(3);clrscr();printf("tYear:%dMonth:%d",y,m);printf("");if(y==1)s=1;for(i=1;i

8、

9、y%400==0)leap=1;elseleap=0;for(i=0;i<=m;i++)s=s+a[i];if(leap==1&&m>2)s=s

10、+1;elses=s+0;p=s%7+3;printf("SunMonTueWedThuFriSat");printstar();if(p<=7)n=4*(p-1);elsen=4*(p-8);for(j=1;j<=n;j++)printf("");if(leap==1&&m==2)a[3]=a[3]+1;elsea[3]=a[3]+0;for(j=1;j<=a[m+1];j++){printf

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。