万年历(c++设计)

上传人:博****1 文档编号:486981226 上传时间:2022-12-15 格式:DOC 页数:10 大小:43.50KB
返回 下载 相关 举报
万年历(c++设计)_第1页
第1页 / 共10页
万年历(c++设计)_第2页
第2页 / 共10页
万年历(c++设计)_第3页
第3页 / 共10页
万年历(c++设计)_第4页
第4页 / 共10页
万年历(c++设计)_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《万年历(c++设计)》由会员分享,可在线阅读,更多相关《万年历(c++设计)(10页珍藏版)》请在金锄头文库上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除面向对象技术实验报告(万年历)【精品文档】第 页1实验目的掌握一种编程工具和面向对象程序设计的基本思想和方法,培养我们学生综合利用某种语言进行程序设计的能力,培养我们学生利用系统提供的功能进行创新设计的能力,培养我们学生充分利用计算机的功能和特点分析实际问题及解决实际问题的能力。为我们提供一个综合运用所学知识解决实际问题的机会,增强我们学生的实践动手能力和工程实践能力,并培养和锻炼我们学生的自学创新能力。 为了能更好地了解C+语言,因此开设了此次课程设计,程序设计教学课程的目的不是为了单独的课堂学习,而是要让我们学生掌握程序设计的基本思想及方法。

2、一方面,在课程设计过程中,可以明确的指导为什么而学,还能对所学知识得到应用,更重要的是可以让我们学生掌握一些基本函数的用法,从而不在对编程序感到茫然,经过设计,可以让我们熟悉简单程序的设计方法和编写,对程序设计及该门课程设计语言的应用得到理解。2功能简介万年历,输入年份,可以显示出这一年的每个月份和所对应的星期天,可以查询每一天.3流程图打印一年日历Void fVoid q主函数大月小月闰年二月输出日历表一月的定义闰二月的定义非闰二月的定义三月四月五月六月七月八月九月十月十一月十二月非闰年二月4代码#include#includeusing namespace std;int i,c,day,

3、year,k,a50;void f1(int x) /大月 for( i=0;i=0;i-) ai=000; /1号前均为空格 for(i=k;i31+k;i+) ai=ai-1+1;void f2(int x) /小月 for( i=0;i=0;i-) ai=000; for(i=k;i30+k;i+) ai=ai-1+1;void f3(int x) /闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i29+k;i+) ai=ai-1+1;void f4(int x) /非闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i28+k;i

4、+) ai=ai-1+1;void g(int y,int z) / 输出日历表 cout日t一t二t三t四t五t六endl; for(i=0;i50;i+) if(ai=0) cout(char)ait; if(ai!=0&ai!=33) coutait; else ; if(i%7=0) coutendl; coutendlendlendl;int main() int s,count=0; coutyear; coutendl; c=year; for(s=1;s=year;s+) if(s-1)%4=0&(s-1)%100!=0)|(s-1)%400=0) count+; day=36

5、5*c+count; /相差天数 cout*year年日历*; coutendlendlendlendl; k=(day%7+6)%7+1; cout一月endlendl; f1(k); g(a,50); if(year%4=0&year%100!=0)|year%400=0) /闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f3(k); g(a,50); day=day+31+29; else /非闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f4(k); g(a,50); day=day+31+28; k=(day

6、%7+6)%7+1; cout三月endlendl; f1(k); g(a,50); k=(day+31)%7+6)%7+1; cout四月endlendl; f2(k); g(a,50); k=(day+31+30)%7+6)%7+1; cout五月endlendl; f1(k); g(a,50); k=(day+31+30+31)%7+6)%7+1; cout六月endlendl; f2(k); g(a,50); k=(day+31+30+31+30)%7+6)%7+1; cout七月endlendl; f1(k); g(a,50); k=(day+31+30+31+30+31)%7+6)

7、%7+1; cout八月endlendl; f1(k); g(a,50); k=(day+31+30+31+30+31+31)%7+6)%7+1; cout九月endlendl; f2(k); g(a,50); k=(day+31+30+31+30+31+31+30)%7+6)%7+1; cout十月endlendl; f1(k); g(a,50); k=(day+31+30+31+30+31+31+30+31)%7+6)%7+1; cout十一月endlendl; f2(k); g(a,50); k=(day+31+30+31+30+31+31+30+31+30)%7+6)%7+1; cou

8、t十二月endlendl; f1(k); g(a,50); return 0; 5代码分析大月和小月的定义void f1(int x) /大月 for( i=0;i=0;i-) ai=000; /1号前均为空格 for(i=k;i31+k;i+) ai=ai-1+1;主要运用了数组的循环语句进行对大月的定义。void f2(int x) /小月 for( i=0;i=0;i-) ai=000; for(i=k;i30+k;i+) ai=ai-1+1;依然用数组的循环语句进行对小月的定义。数组的循环语句是C+中一个很重要的知识,数组可以节省很多的定义,一个句子就可以就可以输出很多的数,这样大大减

9、少了计算机的存储空间。这正是一个很打的进步。2.5.2 闰年与非闰年二月的定义void f3(int x) /闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i29+k;i+) ai=ai-1+1;void f4(int x) /非闰年二月 for( i=0;i=0;i-) ai=000; for(i=k;i28+k;i+) ai=ai-1+1;用两个函数定义了在闰年与非闰年时,二月的不同定义。这主要运用到变量的不同定义。从而分辨出它们的不同,使可打印出任一年的日历。2.5.3日历表的输出int s,count=0; coutyear; coutendl; c=ye

10、ar; for(s=1;s=year;s+) if(s-1)%4=0&(s-1)%100!=0)|(s-1)%400=0) count+; day=365*c+count; /相差天数 cout*year年日历*; coutendlendlendlendl;在此运用了C+中函数的运算,计算出该年的每月每日的不同。还有一年的输入和输出。在C+语言中,函数的运算又分为很多种,此次用的是在输出时,闰年与非闰年二月的输出法的定义if(year%4=0&year%100!=0)|year%400=0) /闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f3(k); g(a,50); day=day+31+29; else /非闰年二月 k=(day+31)%7+6)%7+1; cout二月endlendl; f4(k); g(a,50); day=day+31+28;此处主要运用了if语句来对闰年与非闰年的二月的不同定义的输出。if语句一种可跳过不符合条件的语句,继续下面的语句的执行。它具有很强的实用性。在实际的操作中经常会用到的,是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题 > 初中试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号