#include<stdio.h>
int main ()
{ char a1,a2,b1,b2,c1,c2,d1,d2,e1,e2,f1,f2,g1,g2,h1,h2;
int a11,a22,b11,b22,c11,c22,d11,d22,a,b,c,d;
do{
printf("\nenter the IP Address:\n");
scanf("%c%c.%c%c.%c%c.%c%c",&a1,&a2,&b1,&b2,&c1,&c2,&d1,&d2);
switch(a1)
{
case '1': a11=1; break; case '2': a11=2; break; case '3': a11=3; break;
case '4': a11=4; break; case '5': a11=5; break; case '6': a11=6; break;
case '7': a11=7; break; case '8': a11=8; break; case '9': a11=9; break;
case 'A': a11=10; break; case 'B': a11=11; break; case 'C': a11=12; break;
case 'D': a11=13; break; case 'E': a11=14; break; case 'F': a11=15; break; case '0': a11=0; break;
}
switch(a2)
{
case '1': a22=1; break; case '2': a22=2; break; case '3': a22=3; break;
case '4': a22=4; break; case '5': a22=5; break; case '6': a22=6; break;
case '7': a22=7; break; case '8': a22=8; break; case '9': a22=9; break;
case 'A': a22=10; break; case 'B': a22=11; break; case 'C': a22=12; break;
case 'D': a22=13; break; case 'E': a22=14; break; case 'F': a22=15; break; case '0': a22=0; break;
}
switch(b1)
{
case '1': b11=1; break; case '2': b11=2; break; case '3': b11=3; break;
case '4': b11=4; break; case '5': b11=5; break; case '6': b11=6; break;
case '7': b11=7; break; case '8': b11=8; break; case '9': b11=9; break;
case 'A': b11=10; break; case 'B': b11=11; break; case 'C': b11=12; break;
case 'D': b11=13; break; case 'E': b11=14; break; case 'F': b11=15; break; case '0':b11=0; break;
}
switch(b2)
{
case '1': b22=1; break; case '2': b22=2; break; case '3': b22=3; break;
case '4': b22=4; break; case '5': b22=5; break; case '6': b22=6; break;
case '7': b22=7; break; case '8': b22=8; break; case '9': b22=9; break;
case 'A': b22=10; break; case 'B': b22=11; break; case 'C': b22=12; break;
case 'D': b22=13; break; case 'E': b22=14; break; case 'F': b22=15; break; case '0': b22=0; break;
}
switch(c1)
{
case '1': c11=1; break; case '2': c11=2; break; case '3': c11=3; break;
case '4': c11=4; break; case '5': c11=5; break; case '6': c11=6; break;
case '7': c11=7; break; case '8': c11=8; break; case '9': c11=9; break;
case 'A': c11=10; break; case 'B': c11=11; break; case 'C': c11=12; break;
case 'D': c11=13; break; case 'E': c11=14; break; case 'F': c11=15; break; case '0': c11=0; break;
}
switch(c2)
{
case '1': c22=1; break; case '2': c22=2; break; case '3': c22=3; break;
case '4': c22=4; break; case '5': c22=5; break; case '6': c22=6; break;
case '7': c22=7; break; case '8': c22=8; break; case '9': c22=9; break;
case 'A': c22=10; break; case 'B': c22=11; break; case 'C': c22=12; break;
case 'D': c22=13; break; case 'E': c22=14; break; case 'F': c22=15; break; case '0': c22=0; break;
}
switch(d1)
{
case '1': d11=1; break; case '2': d11=2; break; case '3': d11=3; break;
case '4': d11=4; break; case '5': d11=5; break; case '6': d11=6; break;
case '7': d11=7; break; case '8': d11=8; break; case '9': d11=9; break;
case 'A': d11=10; break; case 'B': d11=11; break; case 'C': d11=12; break;
case 'D': d11=13; break; case 'E': d11=14; break; case 'F': d11=15; break; case '0': d11=0; break;
}
switch(d2)
{
case '1': d22=1; break; case '2': d22=2; break; case '3': d22=3; break;
case '4': d22=4; break; case '5': d22=5; break; case '6': d22=6; break;
case '7': d22=7; break; case '8': d22=8; break; case '9': d22=9; break;
case 'A': d22=10; break; case 'B': d22=11; break; case 'C': d22=12; break;
case 'D': d22=13; break; case 'E': d22=14; break; case 'F': d22=15; break; case '0': d22=0; break;
}
a=a11*16+a22;
b=b11*16+b22;
c=c11*16+c22;
d=d11*16+d22;
if((a<=255) && (a>=0) && (b>=0) && (b<=255) && (c>=0) && (c<=255) && (d>=0) && (d<=255))
printf("Thanks it is a valid IP address!");
else
printf("This is NOT a valid IP Address!");
printf("a iisssss %d",a);
}while(a>255 || a<0 || b>255 || b<0 || c>255 || c<0 || d>255 || d<0);
return 0;
}