IP地址的合法性及子网判断课程设计任务书

loading 分享 2026-8-11 下载文档

课程设计任务书

学生姓名: 孙晓晨 专业班级: 信息0804 指导教师: 杜谦 工作单位: 信息工程学院 题 目: IP地址的合法性及子网判断 初始条件:

Windows XP C++,SOCKET

要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写

等具体要求)

1.编写程序,判断一个IP地址是否合法,并判断该地址是否属于一个给

定的子网; 2.判断掩码的合法性;

3.在IP地址合法的前提下,判断ip_addr是否属于子网subnet;

4.撰写课程设计说明书。装订后的课程设计说明书不少于10面(含封面、

任务书、目录、正文、参考文献、成绩评定表、封底)。

时间安排:

6月12日 查阅资料、方案论证

6月13日 ~ 6月15日 总体规划, 方案设计、调试

6月16日 撰写课程设计说明书 6月17日 答辩

指导教师签名: 年 月 日

系主任(或责任教师)签名: 年 月 日

#include #include #include #include using namespace std;

int a[4]={0,0,0,0}; //分段存放子网 char Ip_addr[15]; //ip地址 char sub_net[15]; //子网 int ip[4]={0,0,0,0};

int subnet[4]={0,0,0,0}; //分段存放ip地址 int address[4]={0,0,0,0};

int num; //子网掩码 //判断IP是否合法 void aa(char c[15])

{ //判断IP地址不能超过15 if(strlen(c)>15)

{cout<

int dotnum=0;

//判断IP地址中是否存在非法字符 for(int i=0;i

{ if(isdigit(c[i])==0 && c[i]!='.')

{ cout<

if(c[i]=='.')

dotnum++; }

//判断IP地址中只能存在3个分隔符 if(dotnum!=3)

{ cout<

//判断IP地址中是否存在连续分隔符 for(i=0;i

if(c[i]=='.' && c[i+1]=='.') {

cout<

//分割IP地址

void bb(char c[15])

{ //判断IP地址中最后不能为分隔符 for(int m=0;m<4;m++) {

ip[m]=0; }

int len;

len=strlen(c); if(c[len-1]=='.') {

cout<

char temp[4][15]; for(int i=0;i<4;i++)

for(int j=0;j<15;j++) temp[i][j]='\\0'; int j=0; i=0;

for(int k=0;k

if(c[k]!='.') {

temp[i][j]=c[k];

j++; } else {

i++; j=0; } }

for(i=0;i<4;i++)

{ //判断每位的长度 len=strlen(temp[i]); if(len>3) {

cout<

switch(len) {

case 3:

{

while(len!=0) {

ip[i]+=(temp[i][len-1]-48)*pow(10,3-len); len--; } break; }

case 2: {

while(len!=0) {

ip[i]+=(temp[i][len-1]-48)*pow(10,2-len); len--; }

break; } default: {

while(len!=0) {

ip[i]+=(temp[i][len-1]-48)*pow(10,1-len); len--; } } } }

long int num=0; for(i=0;i<4;i++)

{ //判断每位的大小不超过255 if(ip[i]>255) {

cout<

//分割网络地址 void ee(char c[15])

{ //判断网络地址中最后不能为分隔符 for(int m=0;m<4;m++) {

subnet[m]=0; }


IP地址的合法性及子网判断课程设计任务书.doc 将本文的Word文档下载到电脑
搜索更多关于: IP地址的合法性及子网判断课程设计任务书 的文档
相关推荐
相关阅读