




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃
2、蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈
3、蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂
4、蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆
5、蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃
6、莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇
7、薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄肃蒃莆螃膅芆蚅螂袅聿薁螁羇芄蒇螀聿肇莃衿蝿节芈衿袁肅薇袈肄芁薃袇膆膄葿袆袅荿莅袅羈膂蚄袄肀莇薀羃膂膀蒆羃袂莆莂蕿羄膈芈薈膇莄蚆薇袆芇薂薇罿蒂蒈薆肁芅莄薅膃肈蚃薄袃芃蕿蚃羅肆蒅蚂肈节莁蚁螇肄莇蚁羀莀蚅蚀肂膃薁虿膄莈蒇蚈袄膁莃蚇羆莆艿螆肈腿薈螅螈莅蒄螅羀膈蒀螄 华南农业大学信息学院课程设计课程设计题目:ip地址的合法性及子网判断 计划学时:2周所属课程名称:计算机网络课程设计开设时间: 2010学年第一学期 授课班级: 指导教师:学生姓
8、名:安旨学 号:200730690201 信息学院2008年11月25日评分标准封面格式(5)正文格式(10)题目理解准确度(30)程序设计质量(30)设计报告质量(25)得分总分 题 目:课程设计8:ip地址的合法性及子网判断摘要: 在internet上这个庞大的网间网中,每个网络也有自己的标识符。我们把计算机的ip地址也分成两部分,分别为网络标识和主机标识。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应ip地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体的节点,即主机标识
9、,也就是说某个网络中的特定的计算机号码关键字:网络标识、主机标识、ip地址、子网判断1 引言(简单阐述此次课程设计的背景,意义与目的)因特网是把全世界的无数个网络连接起来的一个庞大的网间网,每个网络中的计算机通过其自身的ip地址而被唯一标识的,据此设想,在internet上这个庞大的网间网中,每个网络也有自己的标识符。我们把计算机的ip地址也分成两部分,分别为网络标识和主机标识。同一个物理网络上的所有主机都用同一个网络标识,网络上的一个主机(包括网络上工作站、服务器和路由器等)都有一个主机标识与其对应ip地址的4个字节划分为2个部分,一部分用以标明具体的网络段,即网络标识;另一部分用以标明具体
10、的节点,即主机标识,也就是说某个网络中的特定的计算机号码。另一方面,只有在一个网络号下的计算机之间才能直接互通,不同网络号的计算机要通过网关(gateway)才能互通。但这样的划分在某些情况下显得并十分不灵活。为此ip网络还允许划分成更小的网络,称为子网(subnet),这样就产生了子网掩码。因为随着上网人数的剧增,ip地址是有可能会耗尽的,所以这个课程设计的意义和目的就在于此了。2 总体设计 2.1 系统或算法框架设计2.2功能设计void alljudgment(); /判断mask,subnet,ip的合法性问题bool ipisvalid(char *); /判断ip是否合法bool
11、subnetisvalid(char *); /判断子网号subnet是否合法bool noillegalchar(char *); /ip,subnet地址中非法字符的判断bool maskismatsubnet(int,char *);/判断mask与subnet是否匹配2.3 平台设计 一般的msdos平台就好。2.4 数据结构的设计class iptest char ip15; /定义ip数组,存放ip地址 char subnetplusmask18; /定义subnetplusmask数组,存放子网号和子网掩码中1的个数 char subnet18; /定义subnet数组,存放子网
12、号 char tempip15; /定义tempip数组,存放临时的ip地址 char tempsub18; /定义tempsub数组,存放临时的子网号 int mask; /定义整型mask,存放子网掩码中1的个数 bool maskisvalid;/定义布尔值maskisvalid,存放判断mask真值的变量 public: iptest(char *,char *); /定义iptest函数 iptest(); bool noillegalchar(char *); /非法字符的判断 bool ipisvalid(char *); /判断ip地址是否合法 bool subnetisval
13、id(char *); /判断子网号是否合法 void belong(); /判断ip是否为子网成员 print();/定义输出函数print ; 2.5接口设计 无!3 详细设计(自己按照本组的实际情况分小点,详细书写整个的设计流程以及核心源代码)3.1在检验ip地址和子网检验时应该明确的问题,关键的两点就是把输入的ip(暂且不讨论何种输入形式,且假设为合法输入)分解成各段,然后判断其是否属于另一ip的网络。实现流程:制定规则设计数据结构算法实现调试 测试数据分析3.2算法的实现主要的方法是c+中字符串处理。(1)类设计a.属性char ip15; /用于存放ip地址char ip_temp
14、15; /用于存放ip地址char subnet_mask18; /用于存放subnet_mask地址char subnet18; /用于存放subnet地址char subnet_temp18; /用于存放subnet地址int mask; /用于存放mask(1的个数)bool maskisvalid; /用于判断的个数是否合适,或是否与subnet匹配b.方法构造函数,析构函数:iptest(char *,char *); /自定义初始化类函数iptest(); /析构函数 主判断函数 (即主要的方法):void alljudgment(); /判断mask,subnet,ip的合法性问
15、题bool ipisvalid(char *); /判断ip是否合法bool subnetisvalid(char *); /判断子网号subnet是否合法bool noillegalchar(char *); /ip,subnet地址中非法字符的判断bool maskismatsubnet(int,char *);/判断mask与subnet是否匹配工具函数: void print(); /判断ip是否为子网成员,并输出判断结果void split(char *,int *); /把单个字符地址转换为十进制数值型地址(含四段)int tobinary(int a); /十进制int型数据转换
16、为二进制int型数据char * tostring(int *a);/把二进制int型数据转换为一个整体的二进制字符型数据 主函数int main(int argc,char *argv) 函数 1.获取参数 2.简单判断参数格式(长度) 3.若是正常参数,实例化 iptest类 4.调用主判断函数void alljudgment() 判断 5.输出结果 3.3系统所有代码!#include #include #include #include #include #include /类结构 class iptest char ip15; /定义ip数组,存放ip地址 char subnetpl
17、usmask18; /定义subnetplusmask数组,存放子网号和子网掩码中1的个数 char subnet18; /定义subnet数组,存放子网号 char tempip15; /定义tempip数组,存放临时的ip地址 char tempsub18; /定义tempsub数组,存放临时的子网号 int mask; /定义整型mask,存放子网掩码中1的个数 bool maskisvalid;/定义布尔值maskisvalid,存放判断mask真值的变量 public: iptest(char *,char *); /定义iptest函数 iptest(); bool noilleg
18、alchar(char *); /非法字符的判断 bool ipisvalid(char *); /判断ip地址是否合法 bool subnetisvalid(char *); /判断子网号是否合法 void belong(); /判断ip是否为子网成员 print();/定义输出函数print ; /主函数 void main(int argc,char *argv) if(argc != 3) /判断参数格式是否正确 cout error endl format shoud be:ip_test subnet/mask ip 18) /先判断最简单的错误,子网号及子网掩码长度和是否超出 c
19、out 15) /ip地址长度是否超出 coutip is too long; return; iptest test(argv1,argv2); /实例化iptest类 test.print(); /完成相应判别并输出结果 /构造函数 iptest:iptest(char* subnetplusmask,char *ip) maskisvalid = true; char temp2; /把/前的字符复制到subnet字符数组中 int smlen = strlen(subnetplusmask); / 定义smlen为subnetplusmask的长度 for(int i = 0;i su
20、bneti = subnetplusmaski; /对subnet数组赋值,值为subnetplusmask中的数值 this-tempsubi = subnetplusmaski; /对tempsub数组赋值,值为subnetplusmask中的数值 subneti = 0;/给数组加上结束符 tempsubi = 0; /给数组加上结束符 if(i = smlen-3) /初始化mask和maskisvalid if(i = smlen-2) temp0 = subnetplusmaski+1; if(!isdigit(temp0) /判断temp中的值是否为字符 maskisvalid
21、= false; else if(i = smlen-3) temp0 = subnetplusmaski+1; temp1 = subnetplusmask1+2; if(!(isdigit(temp0)&isdigit(temp1) /判断temp中的值是否为字符 maskisvalid = false; mask = atoi(temp); /将temp中的字符数值化 if(mask 32) /判断mask值是否超出范围 maskisvalid = false; else /用十进制数表示的掩码中1的个数只能是一位数或者两位数 maskisvalid = false; strcpy(th
22、is-subnetplusmask,subnetplusmask); /给subnetplusmask赋值 strcpy(this-ip,ip); /给ip赋值 strcpy(this-tempip,ip); /调用判别函数,并输出结果 iptest:print() bool subisv = subnetisvalid(tempsub); bool ipisv = ipisvalid(tempip); if(!subisv) /subnet非法 cout subnet is invalid! endl; else cout valid subnet: subnet endl; if(!mas
23、kisvalid) /mask非法 cout mask is invalid! endl; else cout valid mask: mask endl; if(!ipisv) /ip非法 cout ip is invalid! endl; else cout valid ip: ip endl; /判断ip是否belong subnet if(subisv & ipisv & maskisvalid) belong(); /子网数,判断输入是否含有非数字字符 bool iptest:noillegalchar(char *ch) unsigned int i,k=0; for(i=0;i
24、strlen(ch);i+) if(isdigit(*(ch+i)=0) /判断每一位是否为数字字符 return false; return true; /若不含有非法数字字符则返回true /判别ip地址是否合法 bool iptest:ipisvalid(char * ip) char ch=.; /分隔符 char *token,*dot4; int iplen = 0; token = strtok(ip,ch); /以.标志将ip字符串按节分开 while(token!=null) /循环进行,直到结束 dotiplen=token; /将分开的每段赋值给dot iplen+; t
25、oken = strtok(null,ch); if(iplen != 4) /段数不对 return false; for(int i = 0; i 255) /有非法字符或某段值非法 return false; return true; /判断子网号是否合法 bool iptest:subnetisvalid(char* subnet) if(!ipisvalid(subnet) /调用判别ip地址合法性的函数 return false; return true; /判断ip是否为子网成员,判断子网号与掩码是否匹配,以及子网号、主机号全0全1问题 void iptest:belong()
26、int sublen = strlen(subnet); int iplen = strlen(ip); unsigned int iipa,isuba,imask; unsigned char suba4,ipa4; char temp3; int i,j,t = 0; for (i = 0, j= 0;i sublen;i+) /不用再检错 if(subneti !=.) tempj+=subneti; /temp数组中放.间的串 else suba3-t = atoi(temp); /suba数组中放.间的数据 j=0; t+; temp0=temp1=temp2=0; suba0=at
27、oi(temp); temp0=temp1=temp2=0; isuba=*(unsigned int *)suba; /isuba中放subnet中.除外的串对应的数 for(i=0,j=0,t=0;i iplen;i+) /不用再检错 if(ipi!=.) tempj+=ipi; else ipa3-t=atoi(temp); j=0; t+; temp0=temp1=temp2=0; ipa0=atoi(temp); iipa=*(unsigned int*)ipa; /iipa中放ip中.除外的串对应的数 imask = 0xffffffff; imask =(32-mask); /获
28、得掩码 if(isuba | imask)!= imask) /说明sub与mask不匹配 cout 子网号与掩码不匹配,error! endl; return; if(isubaimask)=0) /说明子网号全1 cout 子网号全1,error! endl; return; if(isuba&imask)=0) /说明子网号全0 cout 子网号全0,error! endl; return; if(isuba)=(iipa&imask) /ip和掩码与,结果和子网号比较 if(iipa|imask)=imask) /说明主机号全0 cout 主机号全0,error! endl; retu
29、rn; if(iipa|imask)=0xffffffff) /说明主机号全1 cout 主机号全1,error! endl; return; /ip属于subnet cout ip belongs to subnetplusmask endl; return; /ip不属于subnet else cout ip doesnt belong to subnetplusmask endl; 3.4具体操作: 1.用c+打开源程序(h)编译,运行后会发现显示结构是:错误的。不管它(因为没输入ip) 2.再打开开始菜单-运行-输入cmd-输入保存文件的位置(如:d: 回车)-输入cd debug 回
30、车 3.再输入h 202.113.16.0/0 202.113.16.10 回车(注意空格) 4.这时会显示 valid subnet :202.113.16.0 /合法子网 valid mask :0 /掩码是0 valid ip:202.113.16.10 /合法ip 202.113.16.10 doesnt belong to 202.113.16.0/0 /ip 202.113.16.10不属于子网 202.113.16.0/0 因为ip地址与上子网掩码255.255.255.0不等于202.113.16.0所以不属于这个子网。4 总结4.1 工作小结 经过这次的程序编写,我了解到自己
31、真的不适合当程序员 上面的程序还好,但是当类和函数的数量剧增的时候,哪个归哪个就分不清楚了。 所以说写程序还是要有文档和注释才行啊! 对,这对一个程序员来说比能力还重要啊!4.2 存在的问题输入正确的h 202.113.16.0/24 202.113.16.10判断有错误。不知道为什么4.3 改进的方法暂时想不到【参考文献】【小组自评】 还算可以吧! 节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃
32、肄膀蒇虿肃节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃肄膀蒇虿肃节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃肄膀蒇虿肃节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅
33、膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃肄膀蒇虿肃节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃肄膀蒇虿肃节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃肄膀蒇虿肃节蚃薅肂蒅蒅羄肂膄莈袀肁芆薄螆肀荿莇蚂聿肈薂薈膈膁莅袇膇芃薀螃膆莅莃虿膆膅蕿蚅膅芇蒁羃膄莀蚇衿膃蒂蒀螅膂膂蚅蚁蝿芄蒈薇袈莆蚃袆袇肆蒆螂袆芈蚂螈袅莁薅蚄袄蒃莇羂袄膂薃袈袃芅莆螄羂莇薁蚀羁肇莄薆羀腿蕿羅罿莁莂袁羈蒄蚈螇羈膃蒁蚃羇芆蚆蕿羆莈葿袈肅肈蚄螃肄
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 科技互联网产业风险管理与合规体系建设报告
- 城市更新中历史文化街区保护与开发的社区参与路径研究报告
- 物理法则的现代应用试题及答案
- 社交电商裂变营销:从内容营销到社群运营的全面解析
- 维保考试题及答案
- 科技互联网行业人工智能算法优化与性能提升策略研究报告
- 2025年智能仓储物流系统智能化改造成果鉴定报告
- 小学教师教学反思改进试题及答案
- 新能源汽车安全技术考试试题及答案
- 数学一诊试题及答案
- 2025年全国中学生汉字听写大会比赛题库及解析(共八套)
- 防汛安全培训课件
- 关于临期商品的处理管理办法
- 新能源全面入市是构建新型电力系统的重要支撑-136号文政策解读
- 2025消防业务理论考试题库及参考答案
- 机关财务报销制度和流程
- DB12-T1196-2023公路养护工程质量检验评定标准
- 水幕电影制作合同
- 交通政策对经济增长的效应分析-深度研究
- 儿科感染性疾病
- 公司科学管理
评论
0/150
提交评论