/* Trabalho final: Entrada de Dados --> IP/Máscara (Formato Decimal) Saida --> IP/Máscara (Formato Binario) Calcular Endereco de Rede Calcular Broadcost Endereco de Rede = IP and Máscara Broadcost = Endereco de Rede + Wildcard Wildcard = not(Mascara); http://www.inf.pucpcaldas.br/cgi-bin/ipcalc.pl */ #include #include #include #define TAM 3 #define TAMH 10 int main() { int ip, ip1, ip2, ip3; int mascara, mascara1, mascara2, mascara3; int op, resto=0, resto1=0; do { printf("\n\nSeja bem vindo ao conversor de IP decimal para binario !"); printf("\n1. Para digitar o IP e a Mascara de Rede"); printf("\n2. Sair"); printf("\nUsuario, por favor, digite a sua opcao: "); scanf("%d", &op); switch(op) { case 1: printf("\nDigite o endereco do seu IP: (XXX XXX XXX XXX) "); scanf("%d %d %d %d",&ip,&ip1,&ip2,&ip3); printf("\nDigite o endereco da sua Mascara de Rede: (XXX XXX XXX XXX) "); scanf("%d %d %d %d",&mascara,&mascara1,&mascara2,&mascara3); printf("\nO seu ip em binario e:"); //binario do primeiro numero if(ip == 1) { printf("%d",&ip); } else { do { resto = ip % 2; printf("%d", resto); ip = ip / 2; } while(ip >= 1); printf("."); } //binario do segundo numero resto=0; if(ip1 == 1) { printf("%d",&ip1); } else { do { resto = ip1 % 2; printf("%d", resto); ip1 = ip1 / 2; } while(ip1 >= 1); printf("."); } //binario do terceiro numero resto=0; if(ip2 == 1) { printf("%d",&ip2); } else { do { resto = ip2 % 2; printf("%d", resto); ip2 = ip2 / 2; } while(ip2 >= 1); printf("."); } //binario do quarto numero resto=0; if(ip3 == 1) { printf("%d",&ip3); } else { do { resto = ip3 % 2; printf("%d", resto); ip3 = ip3 / 2; } while(ip3 >= 1); } printf("\nO endereco de mascara de rede em binario e:"); //binario do primeiro numero if(mascara == 1) { printf("%d",&mascara); } else { do { resto1 = mascara % 2; printf("%d", resto1); mascara = mascara / 2; } while(mascara >= 1); printf("."); } //binario do segundo numero resto1=0; if(mascara1 == 1) { printf("%d",&mascara1); } else { do { resto1 = mascara1 % 2; printf("%d", resto1); mascara1 = mascara1 / 2; } while(mascara1 >= 1); printf("."); } //binario do terceiro numero resto1=0; if(mascara2 == 1) { printf("%d",&mascara2); } else { do { resto1 = mascara2 % 2; printf("%d", resto1); mascara2 = mascara2 / 2; } while(mascara2 >= 1); printf("."); } //binario do quarto numero resto1=0; if(mascara3 == 1) { printf("%d",&mascara3); } else { do { resto1 = mascara3 % 2; printf("%d", resto1); mascara3 = mascara3 / 2; } while(mascara3 >= 1); } break; } } while(op!=2); }