[ Foro de C++ ]

Problema con ejercicio 4.1.4 - Introducción a C++

25-Jul-2025 16:34
Invitado (Boy_mustang)
2 Respuestas

Buenas tardes a todos, vengo a preguntar como puedo abordar un problema que me surgió haciendo el curso de c++, es sobre un ejercicio.

El ejercicio indica: "(4.1.4) Crear un programa calcule cuantas cifras tiene un número entero positivo (pista: se puede hacer dividiendo varias veces entre 10).", cabe recalcar que en el capitulo me están enseñando a usar la función While, así que intenté hacer el programa usando únicamente while.

Yo hice fue lo siguiente: creé dos variables, una para guardar el numero que introduce el usuario y el otro como contador de las cifras (el contador inicia con un valor de 1 en caso de que se introduzca un numero de solo un digito).
El siguiente paso pide al usuario un numero, luego comienza el bloque while que solo inicia si el numero es mayor a 9. Hasta ese momento el programa anda perfecto, el problema surge cuando se introduce un numero mayor a 99, un ejemplo es 100, que si lo uso el contador no suma y el resultado de las cifras siempre es 2.

Estuve pensando, pero por ahora esto es lo único que pude lograr, si saben una forma de resolver ese problema, les agradesco,

Código programado.


#include <iostream>
using namespace std;

int main()
{
cout << "Este progrma calcula cuantas cifras tiene un numero" << endl;

int numero;
int contador = 1;

cout << "Ingrese un numero: ";
cin >> numero;

while (numero > 9)
{
numero = numero / 10;
numero -= 10;
++contador;
}

cout << "El numero tiene " << contador << " sifras." << endl;

return 0;
}


25-Jul-2025 16:42
Nacho Cabanes (+84)

Estás muy cerca, pero basta con que dividas el número entre 10 en cada pasada, para ir quitando la última cifra.

No necesitas restar nada.


25-Jul-2025 17:10
Invitado (Boy_mustang)

Hola Nacho, quite "numero -=10" del bloque while y me indica las cifras  de cualquier número, muchas gracias por la respuesta y por el curso, estoy aprendiendo mucho. Un saludo enorme y espero sigas con la pagina. ????????






Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...