软件工程-万年历实验报告.doc

上传人:牧羊曲112 文档编号:2794586 上传时间:2023-02-25 格式:DOC 页数:11 大小:133.50KB
返回 下载 相关 举报
软件工程-万年历实验报告.doc_第1页
第1页 / 共11页
软件工程-万年历实验报告.doc_第2页
第2页 / 共11页
软件工程-万年历实验报告.doc_第3页
第3页 / 共11页
软件工程-万年历实验报告.doc_第4页
第4页 / 共11页
软件工程-万年历实验报告.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件工程-万年历实验报告.doc》由会员分享,可在线阅读,更多相关《软件工程-万年历实验报告.doc(11页珍藏版)》请在三一办公上搜索。

1、精选优质文档-倾情为你奉上软件工程实验报告学 号:姓 名:朱霄班 级:计092指导教师:周兵实验题目:编写一个万年历程序要求:输入一个年份(1-3000),然后显示12个月的月历,如屏幕显示不下,则应提供翻页功能。一:实验目的1、 能按照软件工程的思想,采用面向对象过程的方法开发出一个小型的软件系统2、 在软件系统开发过程中,能综合利用一门编程语言和软件工程等多门课程知识3、 培养良好的软件开发习惯,了解软件企业文化4、 掌握结构话数据流分析技术5、 掌握结构化程序设计的基本概念与技术,并且养成良好的编码风格6、 掌握单元测试的一般步骤及技术7、 掌握集成测试的一般步骤和技术二:实验内容1、功

2、能需求分析能列出公元元年到3000年所有月历能解决闰年和平年问题能输出显示结果2、运行需求分析运行于window xp 及更高版本操作系统上3、数据流图检查输入显示表头计算1月1日确定闰年年份年份年份年份开始信息是否闰年输入非法重新输入显示一月显示接下来的月份开始信息4、软件设计与编码检查输入输入数据是否超出程序处理范围输入数据是否非法字符机器处理while(iserror) printf(Enter the year:); scanf(%d,&year); if(year3000) printf(input error!n); else break; getch(); 确定闰年if(year

3、%4=0)&(year%100!=0)|year%400=0)显示表头计算一月一日程序代码:#include#include#includeint isleapyear(int year) if(year%4=0)&(year%100!=0)|year%400=0) return 1; else return 0; void main() int isleapyear(int); int i,day,year,temp,temp_i,year_start=1,per_year_days,iserror=1; int month_days=31,28,31,30,31,30,31,31,30,3

4、1,30,31,29; long int year_days=0; while(iserror) printf(Enter the year:); scanf(%d,&year); if(year3000) printf(input error!n); else break; getch(); while(year_startyear) if(isleapyear(year_start) per_year_days=366; else per_year_days=365; year_days=year_days+per_year_days; year_start+; for(temp=1;te

5、mp=12;temp+) switch(temp) case 1: printf(-January(%d)-n,year); break; case 2: printf(-February(%d)-n,year); break; case 3: printf(-March(%d)-n,year); break; case 4: printf(-April(%d)-n,year); break; case 5: printf(-May(%d)-n,year); break; case 6: printf(-June(%d)-n,year); break; case 7: printf(-July

6、(%d)-n,year); break; case 8: printf(-January(%d)-n,year); break; case 9: printf(-August(%d)-n,year); break; case 10: printf(-October(%d)-n,year); break; case 11: printf(-November(%d)-n,year); break; case 12: printf(-December(%d)-n,year); break; i=year_days%7; printf(Mon Tue Wed Thu Fri Sat Sunn); if

7、(i!=0) for(temp_i=0;temp_ii;temp_i+) printf( ); day=1; if(isleapyear(year)&temp=2) while(day1) if(year_days%7=0) printf(n); if(day=10) printf(%d ,day); else printf(%d ,day); year_days+; day+; else while(day1) if(year_days%7=0) printf(n); if(day=10) printf(%d ,day); else printf(%d ,day); year_days+;

8、day+; printf(n); if(getch()=q) exit(0); 5、单元测试与集成测试测试方案设计:白盒测试输入若干数据,对程序逻辑路径进行测试,检验内部控制结构和数据是否有错,实际的运行状态与预期的状态是否一致;测试数据:2012(闰年) 2011(平年) test:-1, 3001 白盒测试结果黑盒测试根据程序的提示输入数据,检查程序是否满足功能要求。黑盒测试结果启动程序,输入年份2012,按下enter键的时候会显示所有的月历。输入年份2011,按下enter键的时候会显示所有的月历按ESC键即可退出应用程序。三、总结与心得:总结:通过测试,程序内部控制结构和数据结构没有出现问题,实际运行结果和预期的相符合。心得与体会:通过这次实验让我对结构化程序设计有了更深一步的理解,了解到了软件设计的思想,也认识了软件测试和调试的重要性,对程序的模块化设计有了更深的理解。通过自己的努力完整地按照结构化的编程思想做好万年历程序,从中获益匪浅。专心-专注-专业

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号