已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言课程设计计算机科学与技术专业*班学号:*姓名:*目录序言 1说明2流程图 3 源代码 4小结5序言 1. 经过上一个学期对C程序设计的学习,同学们都认为真正的学到了有用知识,可能有一些人学的不够理想,但无论如何,这些知识都为我们的下一步学习打下了坚实的基础。做这么一个课程设计,一方面是为了检查我们一个学期来我们学习的成果,另一方面也是为了让我们进一步的掌握和运用它,同时也让我们认清自己的不足之处和薄弱环节,加以弥补和加强。 本程序是一个万年历程序,可以输出公元一年一月以后任意月份的天数及每一天是星期几,只要在运行程序时按照要求输入年份再输入和月份,程序就会把这一月份的日历显示在屏幕上,使人一目了然。该程序能与目前天文学研究中所采用的各种日历程序所能计算的范围相一致。 2 . 课程设计题目:万年历 要求:输入年份和月份,自动输出该月的日历,清楚的显示每一天是星期几。 指导老师:翟海霞说明一 算法分析说明: 1. 总天数的算法:首先用if语句判断定义年到输入年之间每一年是否为闰年,是闰年,该年的总天数为366,否则,为355。然后判断输入的年是否为定义年,若是,令总天数S=1,否则,用累加法计算出定义年到输入年之间的总天数,再把输入年的一月到要输出的月份之间的天数累加起来,若该月是闰年中的月份并且该月还大于二月,再使总天数加1,否则,不加,既算出从定义年一月一日到输出年的该月一日的总天数。 2. 输出月份第一天为星期几的算法:使总天数除以7取余加2得几既为星期几,若是7,则为星期日。3. 算出输出月份第一天为星期几的算法:算出输出月份第一天为星期几后,把该日期以前的位置用空格补上,并总该日起一次输出天数直到月底,该月中的天数加上该月一日为星期几的数字再除以7得0换行,即可完整的输出该月的日历。二 要用到的函数和语句1., /*头文件*/2.main() /*主函数*/3.printf(),4.scanf()5.textbackground(),textcolor() /*定义背景和字体颜色*/6.if 语句7.for 语句8.printstar() /*调用函数*/9.int day_year() /*定义函数*/10.goto /*循环语句*/流程图1. 图一 输入的年份 判断从定义年到输入的年份中每个年份是否为闰年是 否每年为366天 每年为365天 返回该年的天数2. 图二 输入的年月 判断输入年是否为定义年 是 否总天数S=1总天数S为定义年到输入年的总天数把S加上该年一月到输入月份的天数,再加1判断输入的月份是否为闰年中的月份是 否该月是否大于二月 是 否把S加上该 年一月到输入月份的天数把S再加上该 把S加上该年年一月到输入 一月到输入月的月份的天数 份的天数再加1总天数为S判断S的最后一天为星期几从这一天起依次输出输入月份的天数直到该月底为止源代码#include#include#include main()long s=1;int a14=0,0,31,28,31,30,31,30,31,31,30,31,30,31;int y,m,p,i,j,k,n,leap;int day_year(int y); textbackground(RED); textcolor(YELLOW); clrscr(); printf(please input the year:); scanf(%d,&y); printf(n); printf(please input the month:); scanf(%d,&m); printf(n);textbackground(3);clrscr(); printf(tYear:%d Month:%dn,y,m); printf(n); if(y=1) s=1;for(i=1;iy;i+) s=s+day_year(y-1);if(y%4=0&y%100!=0|y%400=0) leap=1; else leap=0;for(i=0;i2) s=s+1; else s=s+0; p=s%7+3; printf( Sun Mon Tue Wed Thu Fri Satn); printstar(); if(p=7)n=4*(p-1);else n=4*(p-8);for(j=1;j=n;j+) printf( ); if(leap=1&m=2)a3=a3+1; else a3=a3+0; for(j=1;j=am+1;j+) printf(%4d,j); if(j+n/4)%7=0) printf(n); printf(n); printstar(); printstar(); s=1; printf(do you want contintue(y/n); scanf(%c,&q); for(;) int k; k=bioskey(0); if(k=0x316e) break; if(k=0x1579) goto loop; printstar()printf(*n); int day_year(int y) if(y%4=0&y%100!=0|y%400=0) return(366); else return(365);小结经历了这次课程设计的设计和制作的整个过程,我才发现我知识的贫乏和知识面的狭窄,原本以为不就是一个小小的课程设计,小case,很容易就可以搞定,可是到了后来实际的操作的时候可是花费了我九牛二虎之力,不说其他的,只说时间上面,我在宿舍里面熬了三个通宵,更不用说白天的时间了。这次作课程设计我也是收获很大,首先,我对C语言有了更深的了解,使用起来也更加的熟练,原来有一些不知道和不熟悉的函数,我学会用了。其次,我这一次找了不少的资料,找专业的书籍、上网找各方面的资料,也
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026年新生儿护理知识与技能考核试题
- 2025-2026年电力设备检修与维护技能考核试题
- 2025-2026年四川省人教版小学三年级道德与法治下册第1单元课后练习题
- 某水泥生产厂生产安全制度
- 乐安县2010-2011年度第二学期期中考试九年级英语试卷
- 《Unit 4 Good manners》教案(3课时)-2026-2027学年人教大同(新版)小学英语六年级上册
- 小学化学教资面试易错题题库
- 2026下半年初中美术教资面试试讲题库及解析
- 北京清房整治工作方案
- jk行业分析报告
- 2026年起重机械操作员安全知识模拟考试试卷及答案
- 2026年秋季小学生秋季养生饮食健康科普课件
- 2026年成人高考专升本医学综合真题解析
- 2026年新版药物GCP考试试题及答案
- 2026年秋季开学初三开局即冲刺加油鼓劲课件
- 甲乙双方协议劳务合同
- 《中华人民共和国产品质量法》知识培训
- 小学数学一年级上册《认识钟表》教学反思
- 新媒体营销(第三版) 课件全套 林海 项目1-6 新媒体营销认知-新媒体营销数据分析
- DZ∕T 0222-2006 地质灾害防治工程监理规范(正式版)
- 半干旱区玉米水肥一体化单产提升技术-吉林农科院刘慧涛
评论
0/150
提交评论