miércoles, 2 de abril de 2025

Contar la cantidad de dígitos que tiene un número en Windows Forms C Sharp

Código del ejercicio:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ejercicio
{
    public partial class frmEjercicio : Form
    {
        public frmEjercicio()
        {
            InitializeComponent();
        }

        private void btnMostrar_Click(object sender, EventArgs e)
        {
            long n = Convert.ToInt64(txtNum1.Text);
            int c = 0;
            while(n >= 1)
            {
                c++;
                n /= 10;
            }
            txtResultado.Text = c.ToString();
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtNum1.Clear();
            txtResultado.Clear();
            txtNum1.Focus();
        }
    }
}

Definición de los códigos del ejercicio:

long --> dato entero de 64 bits.
Convert.ToInt64() --> convierte un valor especificado en un entero de 64 bits con signo.
int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
Length --> obtiene el número de caracteres del objeto String actual.
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.
ToString() --> devuelve una cadena que representa el objeto actual.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Este es un programa de Windows Forms en C# que cuenta la cantidad de dígitos de un número ingresado por el usuario. A continuación se detalla cada parte del código:

1. Importaciones:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
    

Estas son bibliotecas necesarias para trabajar con formularios, manejo de datos y tareas en segundo plano. System.Windows.Forms es la clave para crear aplicaciones de Windows Forms.

2. Clase y Constructor:

public partial class frmEjercicio : Form
{
    public frmEjercicio()
    {
        InitializeComponent();
    }
}
    

La clase frmEjercicio es el formulario donde se interactúa con el usuario. En el constructor (frmEjercicio()), se inicializan los componentes visuales (botones, cuadros de texto, etc.) mediante InitializeComponent().

3. Método btnMostrar_Click:


private void btnMostrar_Click(object sender, EventArgs e)  
{
    long n = Convert.ToInt64(txtNum1.Text);
    int c = 0;
    while(n >= 1)
    {
        c++;
        n /= 10;
    }
    txtResultado.Text = c.ToString();
}
  

Este es el evento que ocurre cuando el usuario hace clic en el botón btnMostrar. Aquí se realiza lo siguiente:

  • long n = Convert.ToInt64(txtNum1.Text);: Convierte el valor ingresado en el cuadro de texto txtNum1 a un número largo (long).
  • int c = 0;: Inicializa un contador c que contará los dígitos.
  • while(n >= 1): Un bucle while que se ejecuta mientras el número sea mayor o igual a 1.
    • Dentro del bucle:
      • c++: Aumenta el contador por cada dígito encontrado.
      • n /= 10;: Divide el número entre 10 (eliminando el último dígito).
  • txtResultado.Text = c.ToString();: Muestra el número de dígitos (valor de c) en el cuadro de texto txtResultado.

4. Método btnLimpiar_Click:


private void btnLimpiar_Click(object sender, EventArgs e)  
{
    txtNum1.Clear();
    txtResultado.Clear();
    txtNum1.Focus();
}
  

Este es el evento que ocurre cuando el usuario hace clic en el botón btnLimpiar. Aquí se realiza lo siguiente:

  • txtNum1.Clear();: Borra el texto ingresado en el cuadro de texto txtNum1.
  • txtResultado.Clear();: Borra el resultado mostrado en txtResultado.
  • txtNum1.Focus();: Establece el foco en el cuadro de texto txtNum1 para que el usuario pueda ingresar un nuevo número fácilmente.

Resumen:

Este programa permite al usuario ingresar un número en un cuadro de texto. Al hacer clic en el botón "Mostrar", se cuenta la cantidad de dígitos que tiene el número y se muestra el resultado en otro cuadro de texto. Si el usuario hace clic en "Limpiar", se borran los campos para empezar de nuevo.

Código del ejercicio: Con propiedad Length

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Ejercicio
{
    public partial class frmEjercicio : Form
    {
        public frmEjercicio()
        {
            InitializeComponent();
        }

        private void btnMostrar_Click(object sender, EventArgs e)
        {
            string n = txtNum1.Text;
            int c = n.Length;
            txtResultado.Text = c.ToString();
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtNum1.Clear();
            txtResultado.Clear();
            txtNum1.Focus();
        }
    }
}

Definición de los códigos del ejercicio:

long --> dato entero de 64 bits.
Convert.ToInt64() --> convierte un valor especificado en un entero de 64 bits con signo.
int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
Length --> obtiene el número de caracteres del objeto String actual.
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.
ToString() --> devuelve una cadena que representa el objeto actual.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Este código es un ejemplo en C# utilizando Windows Forms. El programa cuenta la cantidad de dígitos que tiene un número ingresado por el usuario y lo muestra en un cuadro de texto. A continuación, se explica cada parte del código:

1. Librerías necesarias


    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    

Estas líneas incluyen las bibliotecas necesarias para que el programa funcione. Algunas de estas bibliotecas permiten trabajar con ventanas (Windows Forms), realizar operaciones con texto, etc.

2. Espacio de nombres


    namespace Ejercicio
    

Define el espacio de nombres del proyecto. En este caso, se llama "Ejercicio", y dentro de este se encuentran las clases del programa.

3. Clase frmEjercicio


    public partial class frmEjercicio : Form
    

Esta línea define una clase llamada frmEjercicio, que es una ventana de la aplicación (una forma o "form"). Se hereda de la clase Form, que es la base para las ventanas en Windows Forms.

4. Constructor de la clase


    public frmEjercicio()
    {
        InitializeComponent();
    }
    

Este es el constructor de la clase frmEjercicio, que se ejecuta cuando se crea una nueva instancia de la ventana. Llama al método InitializeComponent(), que inicializa todos los controles (botones, cuadros de texto, etc.) de la ventana.

5. Manejador de eventos del botón "Mostrar"


private void btnMostrar_Click(object sender, EventArgs e)  
{
    string n = txtNum1.Text;
    int c = n.Length;
    txtResultado.Text = c.ToString();
}
  

Este es el manejador de eventos para el botón "Mostrar". Se ejecuta cuando el usuario hace clic en ese botón.

  • string n = txtNum1.Text;: Obtiene el texto que el usuario ha escrito en el cuadro de texto txtNum1 (donde se ingresa el número).
  • int c = n.Length;: Calcula la cantidad de caracteres (dígitos) que tiene el número ingresado, utilizando la propiedad Length.
  • txtResultado.Text = c.ToString();: Muestra el resultado (el número de dígitos) en el cuadro de texto txtResultado, convirtiendo el valor c de entero a cadena de texto.

6. Manejador de eventos del botón "Limpiar"


private void btnLimpiar_Click(object sender, EventArgs e)  
{
    txtNum1.Clear();
    txtResultado.Clear();
    txtNum1.Focus();
}
  

Este es el manejador de eventos para el botón "Limpiar". Se ejecuta cuando el usuario hace clic en ese botón.

  • txtNum1.Clear();: Limpia el cuadro de texto txtNum1.
  • txtResultado.Clear();: Limpia el cuadro de texto txtResultado.
  • txtNum1.Focus();: Coloca el cursor en el cuadro de texto txtNum1, para que el usuario pueda comenzar a escribir inmediatamente.

Resumen

El programa cuenta cuántos dígitos tiene el número ingresado por el usuario en un cuadro de texto y muestra el resultado en otro cuadro de texto. El botón "Limpiar" borra ambos cuadros de texto y coloca el cursor en el primero.

No hay comentarios.:

Publicar un comentario

Ingresar un número entero y mostrar todos los números impares hasta el número ingresado en Python

Código del ejercicio: Con ciclo while numero = int ( input ( "Ingresar un número: " )) if numero ...

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