domingo, 31 de mayo de 2026

Contar la cantidad de dígitos que tiene un número en C++

Código del ejercicio:

#include <iostream>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    int num, contador = 0;
    cout<<"Ingrese un número: "; cin>>num;
    while(num >= 1){
        contador++;
        num /= 10;
    }
    cout<<"El número ingresado tiene "<<contador<<" dígitos.";
    return 0;
}

Definición de los códigos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida estándar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuración regional.
#include <string> --> archivo de encabezado de cadena.
using namespace std; --> un espacio de nombres es una colección de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca estándar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la función main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecución del programa. Cuando se ejecuta un programa C++, el control de ejecución va directamente a la función main(). Cada programa C++ tiene una función main().
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida estándar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada estándar, es decir, el teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
/= --> el operador de asignación de división ( /= ) divide el valor del operando derecho de una variable y asigna el resultado a la variable.
string --> dato de tipo cadena de texto.
length() --> devuelve la longitud de una cadena.

Explicación del Código:

Este programa solicita un número entero al usuario y determina cuántos dígitos tiene. Para ello, divide el número entre 10 repetidamente hasta que su valor sea menor que 1. Cada división elimina un dígito y aumenta un contador. Al finalizar, el contador indica la cantidad total de dígitos del número ingresado.

Código Explicación
#include <iostream> Permite utilizar las funciones de entrada y salida como cin y cout.
#include <clocale> Permite configurar la localización para trabajar con caracteres del idioma español.
using namespace std; Evita escribir std:: antes de cada elemento de la biblioteca estándar.
int main() Función principal donde inicia la ejecución del programa.
setlocale(LC_CTYPE, "Spanish"); Configura el programa para reconocer caracteres especiales en español.
int num, contador = 0; Declara la variable num para almacenar el número y contador para contar los dígitos.
cout << "Ingrese un número: "; Muestra un mensaje solicitando un número al usuario.
cin >> num; Lee el número ingresado por el usuario.
while(num >= 1) Repite el proceso mientras el número sea mayor o igual a 1.
contador++; Incrementa el contador en una unidad por cada dígito encontrado.
num /= 10; Divide el número entre 10 eliminando el último dígito.
cout << "El número ingresado tiene " << contador << " dígitos."; Muestra la cantidad total de dígitos del número ingresado.
return 0; Finaliza correctamente la ejecución del programa.

Ejemplo de salida

Ingrese un número: 54321
El número ingresado tiene 5 dígitos.
    

Código del ejercicio: Otra forma de hacer

#include <iostream>
#include <string>
#include <clocale>

using namespace std;

int main()
{
    setlocale(LC_CTYPE, "Spanish");
    string num;
    cout<<"Ingrese un número: "; cin>>num;
    int contador = num.length();
    cout<<"El número ingresado tiene "<<contador<<" dígitos.";
    return 0;
}

Definición de los códigos del ejercicio:

#include <iostream> --> significa flujo de entrada-salida estándar. Este archivo de encabezado contiene definiciones de objetos como cin, cout, cerr, etc.
#include <clocale> --> especificador de configuración regional.
#include <string> --> archivo de encabezado de cadena.
using namespace std; --> un espacio de nombres es una colección de nombres o identificadores relacionados (funciones, clases, variables) que ayudan a separar estos identificadores de identificadores similares en otros espacios de nombres o en el espacio de nombres global. Los identificadores de la biblioteca estándar de C++ se definen en un espacio de nombres llamado std.
int --> dato entero de 32 bits.
main() --> la función main() es el punto de entrada de cualquier programa C++. Es el punto en el que se inicia la ejecución del programa. Cuando se ejecuta un programa C++, el control de ejecución va directamente a la función main(). Cada programa C++ tiene una función main().
return 0; --> devolver 0 en la función principal significa que el programa se ejecutó correctamente.
setlocale(); --> sirve para configurar nuestro programa acorde a los parámetros locales de la computadora donde se ejecuta el programa, uno de estos parámetros es el idioma.
LC_CTYPE --> selecciona la categoría de clasificación de caracteres del entorno local.
setlocale(LC_CTYPE, "Spanish"); --> dentro de las comillas del segundo parámetro colocaremos la palabra "Spanish" para que así se utilicen los parámetros hispanos por defecto.
cout<<""; --> se utiliza para mostrar la salida al dispositivo de salida estándar, es decir, monitor.
cin>> --> se utiliza para aceptar la entrada del dispositivo de entrada estándar, es decir, el teclado.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
>= --> el operador mayor que o igual ( >= ) devuelve true si el operando izquierdo es mayor o igual que el operando derecho, y en false caso contrario.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
/= --> el operador de asignación de división ( /= ) divide el valor del operando derecho de una variable y asigna el resultado a la variable.
string --> dato de tipo cadena de texto.
length() --> devuelve la longitud de una cadena.

Explicación del Código:

Código Explicación simple
#include <iostream> Permite mostrar información en pantalla y leer datos del usuario.
#include <string> Permite utilizar variables de tipo texto (string).
#include <clocale> Permite configurar el idioma y los caracteres especiales.
using namespace std; Permite usar elementos como cout, cin y string sin escribir std::.
int main() Es la función principal donde comienza el programa.
setlocale(LC_CTYPE, "Spanish"); Configura el programa para trabajar con caracteres del idioma español.
string num; Declara una variable de texto llamada num para almacenar el número ingresado.
cout << "Ingrese un número: "; Muestra un mensaje solicitando un número al usuario.
cin >> num; Guarda el número ingresado en la variable num.
int contador = num.length(); Cuenta cuántos caracteres tiene el texto almacenado en num. Esa cantidad corresponde a los dígitos del número.
cout << "El número ingresado tiene " << contador << " dígitos."; Muestra la cantidad de dígitos que tiene el número ingresado.
return 0; Finaliza correctamente la ejecución del programa.

Funcionamiento del programa

El programa solicita un número al usuario y lo almacena como texto en una variable string. Luego utiliza la función length() para obtener la cantidad de caracteres que contiene ese texto. Finalmente muestra en pantalla cuántos dígitos tiene el número ingresado.

Ejemplo de salida

Ingrese un número: 987654
El número ingresado tiene 6 dígitos.
    

No hay comentarios.:

Publicar un comentario

Determinar cuál es el número menor de cuatro números en C++

Código del ejercicio: #include <iostream> #include <clocale> using namespace std ; int main () {     setlocal...

Copyright ©2025 Ejercicios de programación. Todos los derechos reservados. ❤️