安工大软件工程实验指报告.docx

上传人:b****2 文档编号:548338 上传时间:2023-04-29 格式:DOCX 页数:11 大小:233.02KB
下载 相关 举报
安工大软件工程实验指报告.docx_第1页
第1页 / 共11页
安工大软件工程实验指报告.docx_第2页
第2页 / 共11页
安工大软件工程实验指报告.docx_第3页
第3页 / 共11页
安工大软件工程实验指报告.docx_第4页
第4页 / 共11页
安工大软件工程实验指报告.docx_第5页
第5页 / 共11页
安工大软件工程实验指报告.docx_第6页
第6页 / 共11页
安工大软件工程实验指报告.docx_第7页
第7页 / 共11页
安工大软件工程实验指报告.docx_第8页
第8页 / 共11页
安工大软件工程实验指报告.docx_第9页
第9页 / 共11页
安工大软件工程实验指报告.docx_第10页
第10页 / 共11页
安工大软件工程实验指报告.docx_第11页
第11页 / 共11页
亲,该文档总共11页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

安工大软件工程实验指报告.docx

《安工大软件工程实验指报告.docx》由会员分享,可在线阅读,更多相关《安工大软件工程实验指报告.docx(11页珍藏版)》请在冰点文库上搜索。

安工大软件工程实验指报告.docx

安工大软件工程实验指报告

 

《软件工程》实验报告

 

指导老师:

周兵

专业班级:

软件工程班

学号:

姓名:

 

安徽工业大学计算机学院

2015年5月

 

实验题目:

编制一个万年历程序

要求:

输入一个年份(1-3000),然后显示12个月的月历,如屏幕显示不下,则应提供翻页功能。

一.实验目的

1.能按照软件工程的思想,采用面向过程的方法开发出一个小型软件系统。

2.在软件系统开发过程中,能综合利用一门编程语言和软件工程等多门课程的知识。

3.培养良好的软件开发习惯,了解软件企业文化。

二.实验内容

1.软件需求分析

1、功能需求分析

输入一个年份(1-3000),然后显示12个月的月历

·能解决闰年和平年问题

·能输出显示结果

2、运行环境需求分析:

操作系统:

Windows7

3、数据流程图:

 

4、程序函数结构

2.软件设计与编码

#include

#include

#include

#include

voidoutput(structwanNianLi);

voidprinthead(structwanNianLi);

voidprintmonth(structwanNianLi);

//定义月份结构体,

structwanNianLi{

intmonth;//月份

intweekdayOfmonth;//某月第一天是星期几

inttians;//一月的天数

intleap;//闰年为1,平年为0

}months;

//初始化结构体,根据年份初始化一月

structwanNianLisetMonth(intyear)

{

structwanNianLimonths;

months.month=1;

months.weekdayOfmonth=(year-1+(year-1)/4-(year-1)/100+(year-1)/400+1)%7;

if(months.weekdayOfmonth==0)

months.weekdayOfmonth=7;

months.tians=31;

months.leap=isRun(year);

returnmonths;

}

//根据前一个月计算下一个月的结构体

structwanNianLisetNextMonth(structwanNianLimonths)

{

months.weekdayOfmonth=(months.weekdayOfmonth+months.tians-1)%7+1;

months.month=months.month+1;

months.tians=30;

if(months.month==1||months.month==3||months.month==5||months.month==7||

months.month==8||months.month==10||months.month==12)

months.tians=31;

if(months.month==2)

{

if(months.leap)

months.tians=29;

else

months.tians=28;

}

returnmonths;

}

voidmain(){

intyear;

structwanNianLimonths;//定义结构体

year=checkYear();//输入并检查年份

months=setMonth(year);

output(months);

}

//根据年份判断是否是闰年

intisRun(intyear)

{

return((year%4==0&&year%100!

=0)||year%400==0);

}

//输入年份

intintYear(void)

{

intyear;

printf("请输入一个年份(>1)");

scanf("%d",&year);

returnyear;

}

//判断年份是否输入正确

intcheckYear(void)

{

inty;

do{

y=intYear();

if(y<1||y>3000)

{

printf("\n输入错误!

\n\n");

y=0;

}

}while(y<1);

returny;

}

//接受结构体,输出全年日历

voidoutput(structwanNianLimonths)

{

charch;

do{

printhead(months);//输出月头

printmonth(months);//输出每月日期情况

printf("按任意键显视下一月,按Esc键退出.\n");

ch=getchar();

if(ch==27)

exit(0);

months=setNextMonth(months);

}while(months.month<13);

}

//打印表头

voidprinthead(structwanNianLimonths)

{

char*ss;

printf("**********************************");

switch(months.month)

{

case1:

ss="一月";break;

case2:

ss="二月";break;

case3:

ss="三月";break;

case4:

ss="四月";break;

case5:

ss="五月";break;

case6:

ss="六月";break;

case7:

ss="七月";break;

case8:

ss="八月";break;

case9:

ss="九月";break;

case10:

ss="十月";break;

case11:

ss="十一月";break;

case12:

ss="十二月";

}

printf("%s*****************************\n\n",ss);

}

voidprintmonth(structwanNianLimonths)

{

inti,j,k;

printf("");

printf("周日周一周二周三周四周五周六\n\n");

printf("");

if(months.weekdayOfmonth==7)

{

months.weekdayOfmonth=0;

k=months.weekdayOfmonth;

for(j=1;j<=months.tians;j=j+1)

{

if(k>6)

{

k=k-7;

printf("\n\n");

};

k=k+1;

printf("%2d",j);

}

}

else{

printf("");

for(i=1;i

{

printf("");

}

k=months.weekdayOfmonth;

for(j=1;j<=months.tians;j=j+1)

{

if(k>6)

{

k=k-7;

printf("\n\n");

}

k=k+1;

printf("%2d",j);

}

}

printf("\n\n");

}

3.单元测试

4.集成测试

2015年

2014年

三.总结

1.实验内容总结

实验时参照实验步骤,从此语言入手,运用结构体编写每个月的信息,循环输出。

此实验重点考察了对c语言的理解,以及C语言面向过程的编程思想。

加深了对C语言的了解。

2.心得体会与建议

通过这次试验,让我对这门课又有了全新的认识。

作为一门计算机科学的双语教学科目,初学时感到很多的困惑,感到好高深。

然而通过实验了解到其仅仅是换了一种语言来表述同一们学科,只不过讲的更加标准化国际化。

在实验中采用面向过程的编程思想,开发出一个万年历的小程序,并严格按照软件开发思想与路线,培养了良好的软件开发习惯,并同时了解了一点企业中软件开发的习惯,感到很有利于将来更迅速的适应到该行业的工作环境。

同时这门课也提高了我的英语阅读能力。

1.

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

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2