Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - mikel-mb

#1
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;
}
#2
Buenos días, he escrito un código que tenia que hacer para clase y cuando depuro me salen números muy grandes. Alguien sabe porque? Gracias de ante mano. Aqui dejo el código en C:


#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>

int cifras(num1, cont);
int main()
{
int num1 = 0;
int cont = 1;
int numeros = 0;
int cont2 = 0;
char str[128];
printf("Cuantos numeros va a introducir? \n");
fgets(str, 128, stdin);
sscanf(str, "%d", &numeros);
while (cont2 < numeros)
{
printf("introduce un numero: \n");
fgets(str, 128,stdin);
sscanf(str,"%d" , &num1);
if (num1 > 0)
{
cont = cifras(num1, cont);
printf("el numero tiene %d cifras \n");
cont2++;
}
else
{
printf("introduce un numero positivo \n");
cont2 = 0;
}
}
printf("pulse enter para finalizar...");
getchar();
return 0;


}

int cifras(num1, cont)
{

while (num1 / 10 > 0)
{
num1 = num1 / 10;
cont++;
}
return cont;
}