安工大软件工程实验指报告Word格式文档下载.docx

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

安工大软件工程实验指报告Word格式文档下载.docx

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

安工大软件工程实验指报告Word格式文档下载.docx

1.软件需求分析

1、功能需求分析

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

·

能解决闰年和平年问题

能输出显示结果

2、运行环境需求分析:

操作系统:

Windows7

3、数据流程图:

4、程序函数结构

2.软件设计与编码

#include<

stdio.h>

#include<

math.h>

ctype.h>

stdlib.h>

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;

}

voidmain(){

intyear;

//定义结构体

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)

\n输入错误!

\n\n"

y=0;

}while(y<

1);

returny;

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

voidoutput(structwanNianLimonths)

charch;

printhead(months);

//输出月头

printmonth(months);

//输出每月日期情况

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

ch=getchar();

if(ch==27)

exit(0);

months=setNextMonth(months);

}while(months.month<

13);

//打印表头

voidprinthead(structwanNianLimonths)

char*ss;

**********************************"

switch(months.month)

case1:

ss="

一月"

;

break;

case2:

二月"

case3:

三月"

case4:

四月"

case5:

五月"

case6:

六月"

case7:

七月"

case8:

八月"

case9:

九月"

case10:

十月"

case11:

十一月"

case12:

十二月"

%s*****************************\n\n"

ss);

voidprintmonth(structwanNianLimonths)

inti,j,k;

"

周日周一周二周三周四周五周六\n\n"

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;

%2d"

j);

}

}

else{

printf("

for(i=1;

i<

months.weekdayOfmonth;

i=i+1)

printf("

for(j=1;

}

3.单元测试

4.集成测试

2015年

2014年

三.总结

1.实验内容总结

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

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

加深了对C语言的了解。

2.心得体会与建议

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

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

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

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

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

1.

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

当前位置:首页 > 工程科技 > 电子电路

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

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