计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子

上传人:鲁** 文档编号:476569135 上传时间:2023-01-04 格式:DOC 页数:10 大小:154KB
返回 下载 相关 举报
计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子_第1页
第1页 / 共10页
计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子_第2页
第2页 / 共10页
计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子_第3页
第3页 / 共10页
计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子_第4页
第4页 / 共10页
计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子》由会员分享,可在线阅读,更多相关《计算机网络课程设计实验报告------曼彻斯特的编码模拟-----来自东华理工大学学子(10页珍藏版)》请在金锄头文库上搜索。

1、耒和空空透乞,EAST CHINA INSTITUTE OF TECHNOLOGY课程设计报告课程设计题目:曼彻斯特的编码模拟学生姓名. *专业:计算机科学和技术班级: *学号: *指导教师:*2013年12月19日目 录第1章需求分析 21. 1引言 21. 2任务概述21. 3功能划分21.4运行需求及其他3第2章总体设计 32. 1系统方案32. 2软件结构4第3章详细设计 5第4章实验源码 6第5章实验测试 95. 1测试步骤及内容95. 2测试总结10第6章实验总结 11第一章需求分析1.1 引言为方便日后软件的维护及升级,编写此需求说明书。按照此次课程设计的相 关要求,在老师的指导

2、下设计完成了程序。程序推荐在VC+ 6.0的环境下运行 以下是程序中用到的相关变量及函数名称释义:intd204,用来存储转换后的二进制数的数组char c20,用来存储十六进制数据的数组int i,用来进行运算及统计数组长度的变量int g,用来存储数组长度的变量int u,用来计算输出二维数组第一维的维数的变量int j用来计算输出二维数组第二维的维数的变量int e,用来判断是否进行图像输出void Man()将字符串数据转换为十进制数,然后进行二进制转换的函数void Tu()显示曼彻斯特的模拟编码设计过程中使用到的参考资料有如下:1、 C程序设计(第四版)-谭浩强 著,清华大学出版社

3、2、计算机网络(第三版)-吴功宜著,清华大学出版社3、软件工程(2010年6月第一版)景秀丽、吕洪林著,中国水利水电出版社1. 2任务概述任务的目的是输入十六进制数据,输出曼彻斯特编码模拟的波形图。最终使 程序能够在VC+6.0中运行。要求在三天的上机课内完成任务,经老师验证后, 方可准备实验报告。报告的内容应该包括封面、目录、需求分析、总体设计、详 细设计、编码(详细写出编程步骤)、测试的步骤和内容、课程设计总结、参考资 料等。1. 3 功能划分第一部分为输入数据;第二部分为字符串转换十进制数;第三部分为十进制转换二进制数;第四部分为输出曼彻斯特模拟编码; 第五部分为主函数入口。1. 4运行

4、需求及其他总、体设计程序在VC+6.0的环境下编写,可以在支持语言的环境下运行。软件不具 备保密功能,但可维护性强。若用户对保密性要求高,不推荐使用或测试。第二章2. 1系统方案数据流图:输入数据读取数据将字符转换二制数将二进制数对应的图形输出显示图像按照数据流图的实现方式,推荐设计两个函数,进制的函数,第二个是将二进制数对应的图像显示的函数2. 2软件结构第一个是将字符串转换为二。层次图:第三章曼彻斯特编码模拟系详细设计根据第二章系统方案中的数据流图以及总体设计中软件结构的层次图设计,画出详细的程序流程图。编辑输出流程图设计如下开始转换为进制输入数半断输娜输出错误提示第四INO实验源码如下:

5、(字符是否合法?YES将字符转换 为十进制数 转换二进制实验源码附编程步骤:对应输出相对的波形图写文件头并建立main函数定义要创建的两个子函数3、main函数中调用子函数并进行第一次编译检查4、完成子函数的详细内容5、进行最后的编译及运行检测1、2、)#i ncludestdio.h#i ncludeStri ng.hint d204=0;用来存储转换后的二进制数char c20=0; 用来存储十六进制数据int i=0;用来进行计算int e=0;in t g;/用来计算数组长度/ void Man()将数据进行二进制转换printf(请输入十六进制数据(小于20位):);scan f(%

6、s,c);while(ci)将字符串数据转换为数字if(ci=0&ci=A&ci=a&ci=0;j-)dij=ci%2; ci/=2;for(j=0;j4;j+)prin tf(%d,dij);prin tf(n);/void Tu()/显示曼彻斯特的模拟编码if(e=1)return;printf(该数据的曼彻斯特模拟编码为:nn);for(i nt u=0;ui;u+)for(i nt j=0;j4;j+)if(u=(g-1)&j=3) if(duj=O)_printf( 1_);elseprintf( _厂);else if(duj=O) _printf( _);if(j=3&ug)if

7、(du+10=du3) prin tf(|);elseif(duj+1=duj) prin tf(|);else _printf( _ |);if(j=3&ug)if(du+10=du3) prin tf(|);elseif(duj+1=duj) prin tf(|);i+;prin tf(nn);/ void main()Ma n();Tu();第五章实验测试5. 1测试步骤及内容首先进行正确的数据测试 第一次测试:输入十六进制数据为:a12换为二哪竺兰 曼彻斯特喊叔编码为:101000010010D:cSJTDebug彻斯特的编码摸拟fxe第二次测试:输入十六进制数据为:0a12接下来进行

8、不正确数据的测试第三次测试:HD取程序bug彻斯特的褊码模拟亡输入的数据为:ppqD:cDebug彻斯特的扁码模JClexe靡商11盤榦严位)=PP(IPis anyto contin第四次测试:输入的数据为:12sq测试总结:输入合适或者不合适的数据都可以得到正确的回复,满足了课程设计的要求。第六章实验总结前前后后大的修改代码不下六次,第一次的代码当然是不完善的,虽然 经过自己的多次验证,认为已经是正确的。其实当时还存在相当大的缺陷, 比如图像的显示非常难看,没有显示出竖杠“ ”也不能进行多次循环执行。 认识到这些缺点后,果断开始进行完善。第一步是对多次循环进行完善。第一次尝试使用for循环

9、来实现。失败后,选择了最不受喜欢的goto语句,我居然实现了!经过对循环内容的多次 修改,实现了输入正确数据显示图像之后的循环,包括在选择的时候退出程 序。也实现了输入错误数据提示之后的循环及退出。万万没料到的是第二天 经过老师的测试,发现循环没问题,可是在第二次循环输入的时候,对字母 (例如“ a”进行二进制转换时竟然会出现错误。但是数字却不会。疑惑的 同时,接到老师的提醒,遂寻找修正错误。花去大量时间之后,发现个人解 决不了,便认为是循环方式出错。改为 while循环,修改完成之后,不仅发 现第二次对字母进行二进制转换会出错,而且会在第二输出二进制数是多加 上一组四个零的数据。无奈之下只好

10、放弃循环。放弃循环之后,程序没有出现什么奇怪的错误了。于是进行第二步,对图像显示的完善。运用特殊字符将“一”、“I”、“_”输出来了。再次找老师进行审查。老师提出了本次课程设计本人的最后一个问题:最后输出图像多 出了一竖。经过添加判断语句之后完善了这个缺陷, 老师也终于“无可奈何” 的认可了我的程序。最后,我对我第三次(goto语句)的代码还是存在很多疑问,为什么我 第一次进行对字母的二进制转换没有问题,第二次会出错,数字却不会一起 出错?第四次(while语句)的代码为什么每次第二次进行二进制转换都 会多出四个零?知道此次课程设计结束,为什么字母第二次转换会出现错误依然没有解决。我将利用我自己的课余时间找出问题所在,尽全力解决。最后的最后,我再一次认识到自己编码能力的不足,今后一定会加强程 序设计的锻炼,早日成为一个合格的程序猿

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号