
万年历实验报告---软件工程老师: 班级: 学生ID: 名称: -1-实验标题: 实验题: 准备万年历计划要求: 输入年份(1-3000),然后显示12个月期间如果无法在屏幕上显示月历,则应提供翻页功能. 一. 实验的目的是通过示例使学生掌握结构化数据流分析技术. 二. 实验内容软件需求分析: 软件需求分析: 1.一般来说,根据老师的要求制作一个万年历C程序,需要分页输出每个月的月历,首先输入要知道的日历年,然后按Enter键,按月显示日历,这样您就可以满足要求. 2.确定是否为a年: (year%4 == 0 && year0 || year%400 == 0)如果条件为a年,则将一年中所有月份的天数都设为2维数组({{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31,31,30, 31,30,31}}). 3.查找一年中的第一天是星期几(year +(year-1)/ 4-(year-1)/ 100 +(year-1)/ 400)%7. 4.使用FOR循环输出每个月的日历. 数据流图: 数据流图: 将每个月的日期填充到日期表中. 程序开始定义函数f(),g(),n(),w(). 使用for循环将月份输出日期除以定义整数变量year,w,jump,i,j,k,wd,daywd判断月份日历中有几行要显示并定义两个字符数组date [12] [6] [7],day_tbl [] [12]用于月份日历输入的循环输出Year yearleap = year%4 == 0 && year0 || year%400 == 0scanf(“%* c”)输入并翻页,并使用for循环将日期表设置为0以显示12月底. 程序-2-软件设计和编码: 软件设计和编码: 实验的完整代码: #include“ stdio.h” long int f(int year,int month){if(month <3)return year-1;否则返回年份;} long int g(整数月份){如果(月份<3)返回月份+ 13;否则返回month + 1;} long int n(int年,int月,int日){return 1461L * f(年,月)/ 4 + 153L * g(月)/ 5 +天;} int w(int年) ,int month,int day){返回(int)((n(年,月,日)%7-621049L%7 + 7)%7);} int日期[12] [6] [7]; int day_tbl [] [12] = {{31,28,31,30,31,30,31,31,30,31,30,31},{31,29,31,30,31,30,31, 31,30,31,30,31}}; main(){int sw,jump,i,j,k,wd,day;年份char title [] =“ SUN MON TUE WED THU FRI SAT”; printf(“请输入您想知道万年历的年份: ”); / *输入年份* / scanf(“%d%* c”,&year); / *输入年份值和滑动值后的回车* / sw = w(年,1,1);飞跃=年%4 == 0 &&年0 |年%400 == 0; / * year年* / for(i = 0; i <12; i ++)for(j = 0; j <6; j ++)for(k = 0; k <7; k ++)date [ i] [j] [k] = 0; / *将日期表设置为0 * / for(i = 0; i <12; i ++)/ *一年零十二个月* / -3 -for(wd = 0,day = 1; day <= day_tbl [leap] [i]; day ++){/ *将第i + 1个月的日期填入日期表* / date [i] [wd] [sw] =天; sw = ++ sw%7; / *每周7天,从0到6 * / if(sw == 0)wd ++; / *日期表每7天万年历程序报告,在星期日开始新行* /} printf(“ \ n | ============%d年的年历========= == | \ n“,年份);对于(i = 0; i <12; i ++){/ *首先测量i + 1月的最大周数(wd = 0,k = 0; k <7; k ++)/ *日期表的第六行中有一个日期,然后是wd! = 0 * / wd + =日期[i] [5] [k] +日期[i + 6] [5] [k]; wd = wd? 6: 5; puts(“ | ---------- --------------------------- |”); printf(“ |%2d month%s | \ n |”,i + 1,title); for(j = 0; j 2. 经验和建议在这个实验中,我学习了C语言在编写程序时的用处,并学习了编写C程序的一般方法. 通过这个实验,我已经掌握了以前不太了解的知识. 尽管这次我学到了很多知识,但我也为自己敲响了. 实际一点. 分析问题万年历程序报告,制定算法,考虑一下想法,心里有一个大致的框架,然后逐步写下您的想法的每一点,仔细组织书面内容,检查差距并填写一些细节,编写了一个看似困难的程序. -6-
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/ruanjian/article-188657-1.html
台湾同胞抗议台独