欢迎来到天天文库
浏览记录
ID:35627262
大小:64.50 KB
页数:7页
时间:2019-04-03
《C语言课程设计报告--万年历》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、海南大学三亚学院C语言程序设计课程设计报告设计题目:万年历班级计算机科学与技术0902学号0910710076姓名黄穗东指导教师刘小飞起止时间2010-9-1至2010-9-62010年夏季学期一、需求分析7本课程设计主要是完成一个万年历系统的编写。模仿现实生活中的挂历,以系统当前日期的月份为准显示当前月份的每一天(显示出日期及对应的星期几),当系统日期变到下一个月时,系统自动翻页到下一月。从系统获取时间判断该年是否为闰年输出31天判断该月是大月还是小月输出30天输出29天输出28天二、概要设计图(1)万
2、年历的流程图从系统获取年月日之后,判断该年是否为闰年,若是闰年,且当月为2月,则输出29天;若不是闰年,则2月输出28天。判断该月为大月还是小月,大月输出31天,小月输出30天。如图(1)。7三、详细设计(1)判断年份是否是闰年的语句:if(year%4==0&&year%100!=0
3、
4、year%400==0)用一个逻辑表达式包含所有的闰年条件的if语句。能被4整除,但不能被100整除,为闰年,或能被400整除,为闰年。(2)输出系统时间的程序#includeusingnamespa
5、cestd;intmain(){cout<<__DATE__<tm_year+1900;month=timeinfo->tm_mon+1
6、;(4)函数w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1计算出每月第一天是星期几。(5)输出格式的实现如果该月第一天是星期日,输出日期,每两个日期间用setw控制符设置字段宽度为4,当排满7天换行,到输出本月全部日期为止。如果该月第一天不是星期日,空出前面几天,输出日期,每两个日期间用setw控制符设置字段宽度为4,排满第一行后换行,再排满7天换行,到输出本月全部日期为止。if(a==7){for(i=1;i<=b;i++)7{
7、cout<8、千变万化,看起来很活7,又貌似很死。有的东西只要一点它就通,马上做出反映,有的地方只有全对它才行那怕是简简单单的一个符号也不行。实际我们对人对事也一样,在无关紧要的时候我们可以适当的放松,但当我们在面对一些严肃问题时就不能马马虎虎,细节决定命运。源代码:#include#include#include#includeusingnamespacestd;intleap(intyear){if(year%4==0&&year%100!=09、10、11、year%400==0)//判断是否是闰年return1;elsereturn0;}intdays_month(intyear,intmonth)//判断大月和小月{if(month==112、13、month==314、15、month==516、17、month==718、19、month==820、21、month==1022、23、month==12)//找出大月return31;if(month==424、25、month==626、27、month==928、29、month==11)//找出小月return30;if(month==2&&leap(year)30、==1)return29;//判断二月是29天还是29天elsereturn28;}intfirstday(intyear,intmonth){intw;w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;//判断每个月开始的第一天是星期几returnw;7}intmain(){inti,j=1,k=1,a,b,month,year;cout<<__DAT
8、千变万化,看起来很活7,又貌似很死。有的东西只要一点它就通,马上做出反映,有的地方只有全对它才行那怕是简简单单的一个符号也不行。实际我们对人对事也一样,在无关紧要的时候我们可以适当的放松,但当我们在面对一些严肃问题时就不能马马虎虎,细节决定命运。源代码:#include#include#include#includeusingnamespacestd;intleap(intyear){if(year%4==0&&year%100!=0
9、
10、
11、year%400==0)//判断是否是闰年return1;elsereturn0;}intdays_month(intyear,intmonth)//判断大月和小月{if(month==1
12、
13、month==3
14、
15、month==5
16、
17、month==7
18、
19、month==8
20、
21、month==10
22、
23、month==12)//找出大月return31;if(month==4
24、
25、month==6
26、
27、month==9
28、
29、month==11)//找出小月return30;if(month==2&&leap(year)
30、==1)return29;//判断二月是29天还是29天elsereturn28;}intfirstday(intyear,intmonth){intw;w=(1+2*month+3*(month+1)/5+year+year/4+year/400-year/100)%7+1;//判断每个月开始的第一天是星期几returnw;7}intmain(){inti,j=1,k=1,a,b,month,year;cout<<__DAT
此文档下载收益归作者所有