资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
文档来源为 : 从网络收集整理.word 版本可编辑 .欢迎下载支持.软件工程实验报告姓名:学号:班级:指导老师第三章实验报告 (Reports)实验题目:实验目的 通过实例使同学们掌握结构化数据流分析技术,结构化程序设计的基本概念与技术,并且养成良好的编码风格,单元测试的一般步骤及技术,集成测试的一般步骤和技术等软件设计的相关技术。一实验内容1软件需求分析数据流程图1文档来源为 :从网络收集整理.word 版本可编辑 .初始化年份输入年份是否在03000输入月份是 否 在012 间文档来源为 : 从网络收集整理.word 版本可编辑 .欢迎下载支持.对比初始方案一算法化年份方案二算法总流程算法一y%4=0&y%100!=0|y%400=0是否闰年t1=29t1=28days=(year-2006)*365+count_leap(year)+monthdays(month,year)weekday=days%72文档来源为 :从网络收集整理.word 版本可编辑 .文档来源为 : 从网络收集整理.word 版本可编辑 .欢迎下载支持.算法一算法一y%4=0&y%100!=0|y%400=0days=(2005-year)*365+count_le是否闰年ap(year)+monthdays(month,yeat1=29r)t1=28weekday=7-days%7算法二2软件设计与编码#include stdio.h#include conio.hvoid main()int leap_year(int y);int count_leap(long year);int monthdays(int month,long year);void monthprint(long year,int month);int month=0;long year=0;char choose;clrscr(); /* clear the windows */doprintf (nnPlease input one integer number as year(03000):n);scanf (%ld,&year);if (year3000) printf (WANNING:ERROR,please input3文档来源为 :从网络收集整理.word 版本可编辑 .文档来源为 : 从网络收集整理.word 版本可编辑 .欢迎下载支持.again!);while (year3000);printf (nn);doprintf (please input the month(112)nn);scanf (%d,&month);if (month12) printf (WANNING:ERROR,please inputagain!);while (month12);printf (nnn);printf(tttt%ldt%dnn,year,month);printf(n* *n);printf(tt Sunt Mont Tuet Went Thut Frit Satn);monthprint(year,month);printf(nn);choose=getchar();printf(Continue?(y/n):nn);scanf(%c,&choose);if (choose=y|choose=Y) main(); /*main函数调用main 函数本身 */int leap_year(int y) int i;if (y%4=0&y%100!=0|y%400=0) i=1;else i=0;return i;int count_leap(long year)int i=0,j,min,max;4文档来源为 :从网络收集整理.word 版本可编辑 .文档来源为 : 从网络收集整理.word 版本可编辑 .欢迎下载支持.if(year2006) min=2006;max=year;else min=year+1;max=2006;for(j=min;j=2006) static int t12=31,0,31,30,31,30,31,31,30,31,30,31;/*112月的每月天数 */j=month-1;if(leap_year(year) t1=29;else t1=28;for(i=0;ij;i+)sum=sum+ti;elsestatic int t112=31,30,31,30,31,31,30,31,30,31,0,31; /*121月的每月天数 */j=12-month;if(leap_year(year) t110=29;else t110=28;for(i=0;i2006)days=(year-2006)*365+count_leap(year)+monthdays(month,year); weekday=days%7;else if(year2006)days=(2005-year)*365+count_leap(year)+monthdays(month,year);weekday=7-days%7;elsedays=monthdays(month,year);weekday=days%7;for (i=1;i=weekday+2;i+) /*由于上一行打印星期的时候空2 个制表位,所以weekday 要加 2*/printf (t);for (i=1;i=y;i+)if (i+weekday-1)%7=0) printf (nntt%3dt,i);else printf (%3dt,i);printf(n* *nn);二测试结果三总结通过本次实验,我充分认识到了制作一个能够运行的软件和制作一个好的软件之间的差距,做一个好的软件不仅要求软件能够工作,而且软件从开始制作到最终完成都要经过严格的审核,不断的修改,从而使做出的软件界面更和谐,更易于操作,功能更强大等等。在本次实验中,我也犯了这样那样的错误,但是通过与其他同学的讨论交流,我也将这些错误一一改正了过来,这使我认识到软件制作过程中交流的重要性。总之,本次实验我的收获很大,最重要的是对软件工程这门课程有了一个更深入的认识。6文档来源为 :从网络收集整理.word 版本可编辑 .
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号