安徽工业大学软件工程实验报告_第1页
安徽工业大学软件工程实验报告_第2页
安徽工业大学软件工程实验报告_第3页
安徽工业大学软件工程实验报告_第4页
安徽工业大学软件工程实验报告_第5页
免费预览已结束,剩余12页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、网 133告级:指导老师:周兵实验目的1能按照软件工程的思想,采用面向过程的方法开发出一个小型软件系统。2在软件系统开发过程中,能综合利用一门编程语言和软件工程等多门课程的知识。3 培养良好的软件开发习惯,了解软件企业文化。4 掌握结构化数据流分析技术。5 掌握结构化程序设计的基本概念与技术,并且养成良好的编码风 格。6 掌握单元测试的一般步骤及技术。7 掌握集成测试的一般步骤和技术。实验内容1 软件需求分析、功能需求分析输入一个年份( 1-3000),然后显示 12 个月的月历 能解决闰年和平年问题#define dent "H、运行需求分析操作系统:Windows9x, Wind

2、ows2000, WindowsXP及更高版本、数据流图确定年丄是否闰丿年份年I检查输二软件结构图年份J显示表头JLcheckinpu 2.:inputyear 身计算1月1>”显示2.,11r'i. LoL开始信J显示1 :seti nit()显示1-Y-T I diiauB;isleap ()软件设计与编码-#in elude <> #in elude <> #in elude <> #in elude <> #defi ne firstdayofi 1/*定义第一年的第一天,星期日=7 */#defi ne gap "

3、;"/* set gap betwee n nu mbers of dates */* set right margin. */ struct info int month;int firstdayofmonth;int daysofmonth;int leap;monthinfo;int checkinput(void);int inputyear(void);int isleap(int y);void output(struct info);void printhead(struct info );void printmonth(struct info);struct info

4、 setinit(int);struct info setmonthinfo(struct info );/* 这个作用是判断年 , 如果是闰年 , return 1, 否则return*/ int isleap(int y)return (y%4=0 && y%100!=0) | y%400=0);/* This module is toaccept inputyear() and check if it iscorrect. if it iscorrect it returnint year, otherwise ask user reenter*/int checkinp

5、ut(void)doy=inputyear();if(y<1 | y >3000)printf("n输入错误!。nn");y=0;while(y<1);return y;/* This function is to accept the input year, if it is theinteger, it returns*/it,otherwiseitreturn-1inf inpufyealr(void)char s80kinf L wyprfo(no 天 8q+i)s 三 Hgefchaoi 宣 FH27)exif(o)if(s三 RIO)break

6、-fo(no 天 8q+i)if(s三RIO) break-pse if(=sdigif(s三)ref urn wyHafoi(s)-efu3 w/*This module is to accept monthinfo, and print the whole year calender. */void output(struct info monthinfo)char ch;do printhead(monthinfo);printmonth(monthinfo);printf("按任意键显视下一月,按Esc键退出.n");ch=getchar();if(ch=27) e

7、xit(0);monthinfo=setmonthinfo(monthinfo);while<13);/* This module is to accept monthinfo, amd print monthlyhead like"月" */void printhead(struct info monthinfo)char *ss;printf("%s",dent);switchcase 1:ss="月"break;case 2:ss="月"break;case 3:ss="月"brea

8、k;case 4:ss="月"break;case 5:ss="月"break;case 6:ss="月"break;case 7:ss="月"break;case 8:ss="月"break;case 9:ss="月"break;case 10:ss="月"break;case 11: ss="一 月 "break;case 12: ss="十二 月 "printf(" %s%s%s%snn",

9、gap,gap,gap,ss);/* This module is to accept monthinfo, and print the numbered dates of themonth.*/void printmonth(struct info monthinfo)int i,j,k;printf("%s",dent);printf("一 %s 二 %s 三 %s 四 %s 五 %s 六 %s 日nn",gap,gap,gap,gap,gap,gap);printf("%s",dent);for(i=1;i<i=i+1)p

10、rintf("%s ",gap);k=;for(j=1;j<=;j=j+1)if(k>7) k=k-7;printf("nn%s",dent);k=k+1;printf("%2d%s",j,gap);printf("nn");/* This module is to accept the monthinfo, and set the monthinfo of next month.*/struct info setmonthinfo(struct info monthinfo)int m;%7+1;m=

11、;if(m=1 | m=3 | m=5 | m=7 | m=8 | m=10 | m=12)=31;if(m=2) if= 29;else= 28;return monthinfo;/* This module is to initialize the monthinfo. */struct info setinit(int year)int i,days,total;struct info monthinfo;=1;=firstdayof1;for(i=1;i<year;i=i+1)printf("tt欢迎使用万年历演示程序if(isleap(i)days=366;elsed

12、ays=365 ;=+days-1)%7+1;=31;=isleap(year);return monthinfo;void main()printf("n");tt*n");printf("n");tt*int year ;struct info monthinfo;year = checkinput();monthinfo = setinit(year);output(monthinfo);3 单元测试白盒测试 黑盒测试2015年三月四月 五月六月2016 年:总结和体会本次用c语言编写的万年历系统主要实现了年历、月历、日历的显示。我根本就

13、不喜欢敲 代码了,看见代码就头疼。所以感觉厌恶这门专业,对学习也不感兴趣了。而且,还有一件更 头疼的事是在写一个简单的程序时竟然老是出错,难一点的,复杂一点的程序竟然无从下手。 但是去看程序的参考答案时都看得懂,又感觉很容易。学了软件工程以后,我就感觉我以前的 学习方法是错误的。以前我只注重于代码,而不注重理论知识以及编程的思路,程序的架构。 以至于在些程序时没有写程序的思路, 不能形成程序的架构。 只想到看脑袋里是否有与此类似 的代码。越想程序越乱,最后脑袋里一片空白。不知道程序从哪个方面下手了。软件工程这门 课程是做软件开发的人必学的课程,通过学这门课程,程序员就会注重软件开发的理论知识,

14、 以及做项目开发的思路。 学了这门课程后你写程序就不会去盲目的去套用代码, 而是理清此程 序的架构以及思路。程序该从什么时候开始,什么时候结束。在中间需要添加什么样的功能, 以完善该软件。在设计初期,首先温习了课本内容,再次熟悉了一下C语言程序,然后广泛的查找有关万年历的资料, 并结合查找到的资料, 整理出设计的主要思路, 画出流程图, 最终写出了源程序, 并编译成功,在实验中,碰到了不少问题,其中包括如何获取系统时间,如何计算任意时间的 时间差,这些困难,都通过查阅资料和问同学得到了解决。当然,由于时间和能力的原因,做 得还不是很完美。在这学期的课程序设计中,收获知识的同时,还收获了阅历,收获了成熟,通过查找大量 资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手制作的能力,在各种其它能力上也都有了提高。更重要的是,在课程序设计里,我们学会了很多学习的方法,知道了理论 和实践的巨大差别。而这是以后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。同时在与

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论