资源描述:
《华南农业大学课程设计报告.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、华南农业大学课程设计报告所属课程名称:计算机网络及其应用计划学时:2周开设时间:2005学年第一学期授课学生:02计算机科学与技术2班授课人数:人指导教师:周敏华南农业大学信息学院《计算机网络》课程设计成绩单开设时间:2005年第一学期专业计算机科学与技术班级02计2小组人数:1成员冯绍欣课程设计目的IP地址的合法性及子网的判断成员分配教师评语评价指标:l题目内容完成情况优□良□中□差□l对原理的理解程度优□良□中□差□l报告结构清晰优□良□中□差□l总结和分析详尽优□良□中□差□成绩教师签名:1)课程设计目的了解IP地址的定义,划分和子网的概念。(2)
2、课程设计要求1.输入命令格式:IP_testsubnet/maskip_addr2.判断subnet和ip_addr的合法性3.判断掩码的合法性4.在IP地址合法的前提下,判断ip_addr是否属于子网subnet(3)相关知识因特而的网际协议IP,划分子网(4)程序函数分析compart()字符串分隔转十进制函数:把存放到subnet[20],mask[20],ip[20]的标准十进制表示的地址分隔成4个不含点的字符串放到字符数s1[5],s2[5],s3[5],s4[5]中,再用atoi()转成十进制放到指针*x,*y,*z,*w当中。具体做法是用3
3、个整形参数p1,p2,p3存放扫描到subnet[20],mask[20],ip[20]的点并记录其位置,然后把位置0,p1,p2,p3,末端位置之间的字符分别传到s1[5],s2[5],s3[5],s4[5],再调用atoi()转成十进制。ipvalidity()判断ip合法与否函数:把已经转成十进制的地址传入(4个十进制数),最高位范围是1~223,其他位是0~255,然后根据范围作出判断是否合法。maskvalidity()判断mask是否合法函数:用数组a[7]存放8位二进制数从左到右连续位1时的十进制值,255除外,共7个。最高位x!=255时
4、,判断x是否在a[]中,并且后面三个字节是否都为0,则是合法,否则违法。次高位y!=255时,判断y是否在a[]中,并且后面两个字节是否都为0,或者x=255,y,z,w是否都为0合法,是合法,否则都违法。下面如次类推。check()判断ip是否属于子网函数:mask和ip相与,放到b中,存放subnet的a和b相等则ip属于subnet(5)源程序连注析:#include"Stdio.h"#include"Conio.h"#include"string.h"compart(charstring[20],int*x,int*y,int*z,int*w)/
5、*把subnet[20],mask[20],ip[20]*/{inti,j=0,p1,p2,p3,slen;/*转为十进制放到a,b,c中*/chars1[5],s2[5],s3[5],s4[5];slen=strlen(string);for(i=0;i<=slen;i++)if(string[i]=='.'){p1=i;break;}for(i=p1+1;i<=slen;i++)if(string[i]=='.'){p2=i;break;}for(i=p2+1;i<=slen;i++)if(string[i]=='.'){p3=i;break;}fo
6、r(i=0;i