
Enviado em 06/09/2018 - 23:34h
Eu estou fazendo um trabalho para o curso onde e tenho que pedi um ip em decimal e passar ele pra binario, o problema é que eu separei tudinho pq preciso ler ate os os pontos que ficam entre os ips, ja testei muitas coisas mais o que ta dando errado é que na hora de imprimir, a segunda a terceira e a quarta parte do ip estao sendo repetidas pela primeira. o codigo ta abaixo.(ta incompleto o ipv6)#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <math.h>
char ip[14];
void configipv4(char *ip)
{
printf("\n");
char a1[3],a2[3],a3[3],a4[3];
int i=0,conv;
for(i=0;i<3;i++)
{
a1[i]=ip[i];
}
conv=atoi(a1);
itoa(conv,a1,2);
printf("Endereco de IP em Binario:%s.", a1);
conv=0;
i=0;
for(i>=4;i<7;i++)
{
a2[i]=ip[i];
}
conv=atoi(a2);
itoa(conv,a2,2);
printf("%s.", a2);
conv=0;
i=0;
for(i>=8;i<11;i++)
{
a3[i]=ip[i];
}
conv=atoi(a3);
itoa(conv,a3,2);
printf("%s.", a3);
conv=0;
i=0;
for(i>=12;i<14;i++)
{
a4[i]=ip[i];
}
conv=atoi(a4);
itoa(conv,a4,2);
printf("%s", a4);
printf("\n");
system("pause");
}
void configipv6(char aa)
{
}
void IPv4(void)
{
system("cls");
char b[40];
printf("Informe o Endereco de IP:");
scanf("%s",ip);
configipv4(ip);
}
void IPv6(void)
{
system("cls");
char b[40];
printf("Informe o Endereco de IP:");
scanf("%s",ip);
configipv6(&ip);
}
main()
{
int op;
printf(" Bem Vindo!\n\n");
printf("Escolha uma opcao:\n\n 1-IPv4\n 2-IPv6\n\n Opcao:");
scanf("%d",&op);
if(op==1)
{
IPv4();
}
else if(op==2)
{
IPv6();
}
else printf("Digite uma opcao valida!!");
}
Bluefin - A nova geração de ambientes de trabalho Linux
Como atualizar sua versão estável do Debian
Cirurgia para acelerar o openSUSE em HD externo via USB
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Script de montagem de chroot automatica
Conselho distribuiçao brasileira (6)
archlinux resolução abaixou após atualização (15)
Não consigo instalar distro antiga no virtualbox nem direto no hd (33)









