- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
(1)
#includeiostream
#includectype.h
#includemath.h
#includestring
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)
{coutendlIP地址总长度不能超过15!endl;
return; }
int dotnum=0;
//判断IP地址中是否存在非法字符
for(int i=0;istrlen(c);i++)
{ if(isdigit(c[i])==0 c[i]!=.)
{ coutendlIP地址中含有非法字符!endl;
return ; }
if(c[i]==.)
dotnum++; }
//判断IP地址中只能存在3个分隔符
if(dotnum!=3)
{ coutendlIP地址中分隔符只能为3个!endl;
return; }
//判断IP地址中是否存在连续分隔符
for(i=0;istrlen(c)-1;i++)
{ if(c[i]==. c[i+1]==.)
{ coutendlIP地址中出现连续的分隔符!endl;
return;
}
}}
//分割IP地址
void bb(char c[15])
{ //判断IP地址中最后不能为分隔符
for(int m=0;m4;m++)
{ ip[m]=0; }
int len;
len=strlen(c);
if(c[len-1]==.)
{ coutendlIP地址最后们不能为分隔符!endl;
return;
}
char temp[4][15];
for(int i=0;i4;i++)
for(int j=0;j15;j++)
temp[i][j]=\0;
int j=0;
i=0;
for(int k=0;kstrlen(c);k++)
{ if(c[k]!=.)
{ temp[i][j]=c[k];
j++;
}
else
{ i++;
j=0;
} }
for(i=0;i4;i++)
{ //判断每位的长度
len=strlen(temp[i]);
if(len3)
{ coutendlIP地址每位长度不能超过3!endl;
return;
}
switch(len)
{ case 3:
{ while(len!=0)
文档评论(0)