elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Las cifras que tiene un numero
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Las cifras que tiene un numero  (Leído 8,152 veces)
mikel-mb

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #10 en: 11 Noviembre 2017, 10:07 am »

Me reafirmo en mi respuesta: en sucesivos bucles no reseteas cont, por eso crece sin control.

Puedes solucionarlo y lo pruebo?
Gracias de antemano


En línea

josue9243

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #11 en: 11 Noviembre 2017, 16:15 pm »

Ya te di el código solucionado, compilalo en otro programa, devc++ codeblocks, vc++ 2010 no sé.


En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #12 en: 11 Noviembre 2017, 19:07 pm »

Introduce entre la línea 17 y 18 una nueva con la instrucción: cont = 1;
En línea

mikel-mb

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #13 en: 12 Noviembre 2017, 19:45 pm »

sigue sin funcionar
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #14 en: 12 Noviembre 2017, 20:01 pm »

Vale, muestra lo que tienes.
En línea

mikel-mb

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #15 en: 12 Noviembre 2017, 20:03 pm »

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>


int cifras(int num1, int 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)
   {
      cont = 1;
      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", &cont);
         cont2++;
      }
      else
      {
         printf("introduce un numero positivo \n");
         fgets(str, 128, stdin);
         sscanf(str, "%d", &num1);
         cont2 = 0;
      }
   }
   printf("pulse enter para finalizar...");
   getchar();
   return 0;

   
}

int cifras(int num1,int cont)
{
   
   while (num1 / 10 > 0||num1/10==0)
   {
      num1 = num1 / 10;
      cont++;
   }
   return cont;
}
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #16 en: 12 Noviembre 2017, 21:23 pm »

El fallo lo tienes en
Código:
printf("el numero tiene %d cifras \n", &cont);
el apmersand sirve para obtener la dirección de memoria. Lo que ves es eso y no el dato que hay en él, es decir, el número de cifras de cada número. Quita & y listo.
En línea

mikel-mb

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #17 en: 12 Noviembre 2017, 21:27 pm »

de esa forma ni me saca el numero.
En línea

MAFUS


Desconectado Desconectado

Mensajes: 1.603



Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #18 en: 12 Noviembre 2017, 22:34 pm »

Dentro de la función int cifras() tienes el while así:
Código:
while (num1 / 10 > 0||num1/10==0)
Cuando num1 sea un número de un solo dígito el resultado será 0, la sentencia num1/10==0 hará que el bucle se repita y 0/10 = 0, por tanto estarás en un bucle infinito.
« Última modificación: 12 Noviembre 2017, 22:47 pm por MAFUS » En línea

mikel-mb

Desconectado Desconectado

Mensajes: 9


Ver Perfil
Re: Las cifras que tiene un numero
« Respuesta #19 en: 13 Noviembre 2017, 13:39 pm »

Todo solucionado gracias a todos!!!
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Rallada de numero de dos cifras
Programación C/C++
Komodo 3 3,034 Último mensaje 30 Agosto 2010, 17:44 pm
por do-while
Contratar número de 4 cifras para SMS
Desarrollo Web
dimitrix 0 3,007 Último mensaje 7 Enero 2011, 22:35 pm
por dimitrix
Como almacenar un numero de 10 cifras « 1 2 »
Programación C/C++
Caster 10 4,806 Último mensaje 30 Octubre 2012, 16:48 pm
por Caster
Constructor (String numero) copia cifras a un Array. AYUDA PORFAVOR
Java
chriwasch 0 1,758 Último mensaje 7 Enero 2014, 13:32 pm
por chriwasch
Assembler programa que sume, reste, multiplique numero de 2 cifras.
ASM
AnubisQuero 0 7,656 Último mensaje 12 Febrero 2016, 18:49 pm
por AnubisQuero
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines