華南農(nóng)業(yè)大學(xué)課程設(shè)計(jì)報(bào)告_第1頁
華南農(nóng)業(yè)大學(xué)課程設(shè)計(jì)報(bào)告_第2頁
華南農(nóng)業(yè)大學(xué)課程設(shè)計(jì)報(bào)告_第3頁
華南農(nóng)業(yè)大學(xué)課程設(shè)計(jì)報(bào)告_第4頁
華南農(nóng)業(yè)大學(xué)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上華南農(nóng)業(yè)大學(xué)課程設(shè)計(jì)報(bào)告所屬課程名稱:計(jì)算機(jī)網(wǎng)絡(luò)及其應(yīng)用計(jì)劃學(xué)時(shí):2周開設(shè)時(shí)間:2005學(xué)年第一學(xué)期 授課學(xué)生: 02計(jì)算機(jī)科學(xué)與技術(shù)2班 授課人數(shù): 人指導(dǎo)教師:周敏華 南 農(nóng) 業(yè) 大 學(xué) 信 息 學(xué) 院計(jì)算機(jī)網(wǎng)絡(luò)課程設(shè)計(jì)成績(jī)單開設(shè)時(shí)間:2005年第一學(xué)期專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)班 級(jí)02計(jì)2小組人數(shù):1成員馮紹欣課程設(shè)計(jì)目的IP地址的合法性及子網(wǎng)的判斷成員分配教 師 評(píng) 語評(píng)價(jià)指標(biāo):l 題目?jī)?nèi)容完成情況 優(yōu) 良 中 差 l 對(duì)原理的理解程度 優(yōu) 良 中 差 l 報(bào)告結(jié)構(gòu)清晰 優(yōu) 良 中 差 l 總結(jié)和分析詳盡 優(yōu) 良 中 差 成績(jī)教師簽名:1)課程設(shè)計(jì)目的 了解IP地

2、址的定義,劃分和子網(wǎng)的概念。(2)課程設(shè)計(jì)要求 1輸入命令格式:IP_test subnet/mask ip_addr 2判斷subnet和ip_addr的合法性3判斷掩碼的合法性 4在IP地址合法的前提下,判斷ip_addr是否屬于子網(wǎng)subnet(3)相關(guān)知識(shí) 因特而的網(wǎng)際協(xié)議IP,劃分子網(wǎng)(4)程序函數(shù)分析 compart()字符串分隔轉(zhuǎn)十進(jìn)制函數(shù):把存放到subnet20,mask20,ip20的標(biāo)準(zhǔn)十進(jìn)制表示的地址分隔成4個(gè)不含點(diǎn)的字符串放到字符數(shù)s15,s25,s35,s45中,再用atoi()轉(zhuǎn)成十進(jìn)制放到指針*x,*y,*z,*w當(dāng)中。具體做法是用3個(gè)整形參數(shù)p1,p2,p3存

3、放掃描到subnet20,mask20,ip20的點(diǎn)并記錄其位置,然后把位置0,p1,p2,p3,末端位置之間的字符分別傳到s15,s25,s35,s45,再調(diào)用atoi()轉(zhuǎn)成十進(jìn)制。 ipvalidity()判斷ip合法與否函數(shù):把已經(jīng)轉(zhuǎn)成十進(jìn)制的地址傳入(4個(gè)十進(jìn)制數(shù)),最高位范圍是1223,其他位是0255,然后根據(jù)范圍作出判斷是否合法。 maskvalidity()判斷mask是否合法函數(shù):用數(shù)組a7存放8位二進(jìn)制數(shù)從左到右連續(xù)位1時(shí)的十進(jìn)制值,255除外,共7個(gè)。最高位x!=255時(shí),判斷x是否在a中,并且后面三個(gè)字節(jié)是否都為0,則是合法,否則違法。次高位y!=255時(shí),判斷y是否

4、在a中,并且后面兩個(gè)字節(jié)是否都為0,或者x=255,y,z,w是否都為0合法,是合法,否則都違法。下面如次類推。check()判斷ip是否屬于子網(wǎng)函數(shù):mask和ip相與,放到b中,存放subnet的a和b相等則ip屬于subnet (5)源程序連注析: #include "Stdio.h"#include "Conio.h"#include "string.h"compart(char string20,int *x,int *y,int *z,int *w) /*把subnet20,mask20,ip20*/ int i,j=0,

5、p1,p2,p3,slen; /*轉(zhuǎn)為十進(jìn)制放到a,b,c中*/ char s15,s25,s35,s45; slen=strlen(string); for(i=0;i<=slen;i+) if(stringi='.') p1=i; break; for(i=p1+1;i<=slen;i+) if(stringi='.') p2=i; break; for(i=p2+1;i<=slen;i+) if(stringi='.') p3=i; break; for(i=0;i<p1;i+) s1j=stringi; j+; s

6、1j='0' j=0; for(i=p1+1;i<p2;i+) s2j=stringi; j+; s2j='0' j=0; for(i=p2+1;i<p3;i+) s3j=stringi; j+; s3j='0' j=0; for(i=p3+1;i<slen;i+) s4j=stringi; j+; s4j='0' *x=atoi(s1); /*字符串轉(zhuǎn)十進(jìn)制*/ *y=atoi(s2); *z=atoi(s3); *w=atoi(s4);ipvalidity(int x,int y,int z,int w) /

7、*根據(jù)IP地址的范圍判斷IP是否合法*/ int sign=1; /*IP合法sign為1,否則為0*/ while(1) if(x<1|x>223) printf("The IP is irregularity!n"); sign=0; break; if(y<0|y>255|z<0|z>255|w<0|w>255) printf("The IP is irregularity!n"); sign=0; break; if(w<0|w>255) printf("The IP is i

8、rregularity!n"); sign=0; break; break; return(sign);maskvalidity(int x,int y,int z,int w) /*判斷mask是否合法*/ int i,flag; int a7=128,192,224,240,248,252,254; /*a7存放8位二進(jìn)制數(shù)從左到右連續(xù)位1時(shí)的十進(jìn)制值,255除外*/ while(1) if(x!=255) for(i=0;i<7;i+) /*x!=255時(shí),判斷x是否在a中,并且后面三個(gè)字節(jié)都為0,則是合法*/ if(x=ai&&y=0&&

9、z=0&&w=0) /*否則違法*/ flag=0; break; else flag=1; if(flag=1) printf("The mask is irregularity!n"); break; if(y!=255) /*y!=255時(shí),判斷y是否在a中,并且后面兩個(gè)字節(jié)都為0,則是合法*/ for(i=0;i<7;i+) if(y=ai&&z=0&&w=0|y=0&&z=0&&w=0) /*或者x=255,y,z,w都為0合法,否則都違法*/ flag=0; break; /*

10、下面如次類推*/ else flag=1; if(flag=1) printf("The mask is irregularity!n"); break; if(z!=255) for(i=0;i<7;i+) if(z=ai&&w=0|z=0&&w=0) flag=0; break; else flag=1; if(flag=1) printf("The mask is irregularity!n"); break; if(w!=255) for(i=0;i<7;i+) if(w=ai|w=0) flag=0

11、; break; else flag=1; if(flag=1) printf("The mask is irregularity!n"); break; check(int a1,int a2,int a3,int a4,int b1,int b2,int b3,int b4,int c1,int c2,int c3,int c4) b1=b1&c1;b2=b2&c2;b3=b3&c3;b4=b4&c4; /*mask和ip相與,放到b中,存放subnet的a和b相等*/ if(a1=b1&&a2=b2&&a

12、3=b3&&a4=b4) /*則ip屬于subnet*/ printf("n the ip in the subnet!"); else printf("n the ip out the subnet!");main(int argc,char *argv) /*指針數(shù)組作為main的參數(shù)*/int a1,a2,a3,a4; /*a,b,c分別存放subnet,mask,ip的4位十進(jìn)制的數(shù)*/ int b1,b2,b3,b4; int c1,c2,c3,c4; int i,j=0,t,z,sign1,sign2; /*sign1,sig

13、n2分別是subne,ip是否合法的標(biāo)志位*/ char s50,subnet20,mask20,ip20; strcpy(s,argv1); /*下面是把截取到的字符串分別放到subnet20,mask20,ip20*/ strcpy(ip,argv2); z=strlen(s); for(i=0;i<=z;i+) if(si='/') t=i; for(i=0;i<t;i+) subneti=si; for(i=t+1;i<=z;i+) if(si!=' ') maskj=si; j+; maskj='0' compart(subnet,&a1,&a2,&a3,&a4); /*截取subnet的各字節(jié),以十進(jìn)制放到a1,a2,a3,a4中*/ compart(mask,&b1,&b2,&b3,&b4); compart(ip,&c1,&c2,&c3,&c4); sign1=ipvalidity(a1,a2,a3,a4); /*判斷subnet是否合法*/

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論