网站大量收购独家精品文档,联系QQ:2885784924

网络技术与通信课设报告sch4131155027.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
网络技术与通信课设报告sch4131155027

江 苏 大 学 京 江 学 院 JINGJIANG COLLEGE OF J I A N G S U U N I V E R S I T Y 网络技术与通信设计 班级 学号 4131155019 姓名 张欢 指导教师: 孙俊 2016年7 题目1:计算校验和 1.1课程设计要求 根据介绍的算法,编制程序为给定数据计算校验和。 (1) 以命令形式运行:check_sum infile 其中check_sum为程序名,infile为输入数据文件名。 (2) 输出:数据文件的校验和。 1.2课程设计分析 校验和的计算过程主要分为三个步骤:数据文件的传输,校验和的计算和校验结果的输出。其中,主要的是数据的输入和校验和的计算过程。 输入数据可能是以字符的形式存储的,而校验和的计算则要采用数据形式,所以在从文件读取数据时,都要进行字符到数据的相互转换。 1 ) 将读入的ASCII码转化为相应的整型变量。 2)在使用C++编程时直接使用16进制的方式打开输入文件。 3)校验和的计算 校验和算法是本程序的核心部分,应用最为普遍的是端循环进位法。 流程图: 1.3运行结果截图及解释 程序运行的结果如下: 在D盘下建立的1.TXT文档的内容是: 参考程序: #includestdio.h #includestdlib.h void main(int argc, char *argv[])//指针数组作为主函数参数,用于函数带参数入 {//定义并初始化变量 FILE *fp; char ch; unsigned char chrl,chrh; unsigned int count=0,checksum=0,chr=0; unsigned long int sum=0; //打开文件argv[1] if((fp=fopen(d:\\jiaoyan.txt,r))==NULL) { printf(\n\n File cant be opened); exit(1); } printf(\n\nthe type of output:data---sum\n\n); //从txt文件读取字符,并进行数据处理 while(1) { if((ch=fgetc(fp))!=EOF) { count++; if(ch!= ) { if(count%12==0) printf(\n); //将字符转换成相应的整形变量 if(ch=0ch=9) ch-=0; else if(ch=ach=f) ch=ch-a+10; else if(ch=Ach=F) ch=ch-A+10; //计算8字节数的累加值,将奇数位累加到长整形sum的15~8位,偶数位累加到低8~0位 //这样就避免了数据个数为奇偶的处理操作 if(count%2==1) chrh=ch4; else { chrl=ch0x0f; chr=chrh|chrl; if(count%4==2) sum+=chr8; else if(count%4==0) sum+=chr; printf(%x--%lx ,chr,sum); } } else { count--; } } else { break; } } //将sum由32位折合成16位 if(sum16) checksum=(long(sum16)+long(sum0x0000ffff)); checksum=checksum0x0000ffff; //结果输出 printf(\n\nsum:%lx---checksum:%x,sum,checksum); printf(\n\nsource:argc=%d,\targv=%s\n,argc,argv[1]); fclose(fp);} 题目2 :IP地址的合法性及子网判断 2.1 课程设计要求 本设计要求编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给定子网。 2.2 课程设计分析 1.程序大致流程 1)分别判断子网号,掩码和IP地址的基本格式是否合法。 2)如果三者的基本格式都合法,才调用判定“IP地址是否为子网成员”的函数。该函数同时判别子网号与掩码是否匹配,子网号为全0或全1,主机号为全0,全1. 2.流程图: 2.3 运行结果 合法输入并匹配 合法输入不匹配 非法字符输入 数值溢出 分隔符出错 参考程序: #includeiostream #includectype.h

您可能关注的文档

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档