Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: tebi100 en 28 Septiembre 2017, 03:38 am



Título: Error (básico) en C++
Publicado por: tebi100 en 28 Septiembre 2017, 03:38 am
Ingreso el siguien codigo pero obtengo error al ingresar demasiados digitos para la sentencia scanf. Por favor, me ayudaría muchisimo que me indiquen mi error. Soy nuevo en estas cosas


#include <stdio.h>

int main () {
   printf ("Intruduzca la clave de incio a continuacion");
   float i;
   scanf ("%f",&i);
   printf ("%f",i);
   int c = 1;
   while (c != 20) {
      
      i = i * 10;
      int p = int(i);
      if (p>=5) printf ("1");
      else printf ("0");
      i = i - p;
      c++;
      
   }

   return 0;
}


Título: Re: Error (básico) en C++
Publicado por: AlbertoBSD en 28 Septiembre 2017, 04:54 am
Código:
scanf ("%f",&i);

Si quieres leer numero muy grandes la solución no es usar scanf, tienes que procesar los numeros de otra forma.

se pueden leer los numeros en un buffer char

Código
  1. char cadena[20];
  2. fgets(cadena,20,stdin);
  3.