Nos han mandado un ejercicio en el que hay que pedir al usuario el numero binario y dar el decimal pero le he dado mil vueltas y no me funciona, alguien sabe porque?
codigo:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<math.h>
int main()
{
int i = 0;
int indice = 0;
int n = 0;
int v[10000];
char str[128];
int aux = 0;
int aux1 = 0;
int dec = 0;
printf("introduce un numero para pasarlo a decimal pon el 2 para terminar: \n");
for (i = 1; n != 2; i += 1)
{
fgets(str, 128, stdin);
sscanf(str, "%d", &n);
v = n;
indice++;
}
for (i=indice; i>=1; i-- )
{
aux1 = v * (pow(2, aux));
aux++;
dec = dec + aux1;
}
printf("el numero en decimales es %d \n", dec);
printf("pulse enter para finalizar...");
getchar();
return 0;
}
codigo:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<math.h>
int main()
{
int i = 0;
int indice = 0;
int n = 0;
int v[10000];
char str[128];
int aux = 0;
int aux1 = 0;
int dec = 0;
printf("introduce un numero para pasarlo a decimal pon el 2 para terminar: \n");
for (i = 1; n != 2; i += 1)
{
fgets(str, 128, stdin);
sscanf(str, "%d", &n);
v = n;
indice++;
}
for (i=indice; i>=1; i-- )
{
aux1 = v * (pow(2, aux));
aux++;
dec = dec + aux1;
}
printf("el numero en decimales es %d \n", dec);
printf("pulse enter para finalizar...");
getchar();
return 0;
}