domingo, 17 de mayo de 2026

Contar la cantidad de vocales que tiene una frase 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)
        {
            int cv = 0, i = 0;
            string frase = txtFrase.Text;
            while(i < frase.Length)
            {
                if(frase[i] == 'a' || frase[i] == 'e' || frase[i] == 'i' || frase[i] == 'o' || frase[i] == 'u')
                {
                    cv++;
                }
                i++;
            }
            txtResultado.Text = $"La frase tiene {cv} vocales.";
        }

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

Definición de los códigos del ejercicio:

int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else if --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
switch --> use switch para especificar muchos bloques de código alternativos para ejecutar.
case --> el valor de la expresión se compara con los valores de cada case.
break --> sale del bloque de cambio.
Length --> obtiene el número de caracteres del objeto String actual.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
|| --> el operador || (OR) que quiere decir «o» expresa que al menos una de las dos expresiones debe ser verdadera y retornara verdadero.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Este programa en Windows Forms C# permite ingresar una frase y contar cuántas vocales contiene. Luego muestra el resultado en una caja de texto.

Variables del Programa

int cv = 0, i = 0;
string frase = txtFrase.Text;
  • cv: almacena la cantidad de vocales encontradas.
  • i: sirve para recorrer cada letra de la frase.
  • frase: guarda el texto escrito por el usuario.

Ciclo While

while(i < frase.Length)

El ciclo while recorre toda la frase letra por letra hasta llegar al final del texto.

Verificación de Vocales

if(frase[i] == 'a' || frase[i] == 'e' ||  
   frase[i] == 'i' || frase[i] == 'o' ||
   frase[i] == 'u')

La estructura if verifica si la letra actual es una vocal.

Contador de Vocales

cv++;

Si se encuentra una vocal, el contador aumenta en 1.

Avanzar a la Siguiente Letra

i++;

Incrementa la variable i para revisar la siguiente letra.

Mostrar Resultado

txtResultado.Text = $"La frase tiene {cv} vocales.";  

Muestra en pantalla la cantidad total de vocales encontradas.

Botón Limpiar

txtFrase.Clear();
txtResultado.Clear();
txtFrase.Focus();
  • txtFrase.Clear(): borra la frase ingresada.
  • txtResultado.Clear(): limpia el resultado.
  • txtFrase.Focus(): coloca el cursor nuevamente en la caja de texto.

Funcionamiento General del Programa

  1. El usuario escribe una frase.
  2. Presiona el botón Mostrar.
  3. El programa revisa letra por letra.
  4. Cuenta las vocales encontradas.
  5. Muestra el resultado final.

Código del ejercicio: Otra forma de hacer

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)
        {
            int cv = 0, i = 0;
            string frase = txtFrase.Text;
            while (i < frase.Length)
            {
                if (frase[i] == 'a')
                {
                    cv++;
                }
                else if (frase[i] == 'e')
                {
                    cv++;
                }
                else if (frase[i] == 'i')
                {
                    cv++;
                }
                else if (frase[i] == 'o')
                {
                    cv++;
                }
                else if (frase[i] == 'u')
                {
                    cv++;
                }
                i++;
            }
            txtResultado.Text = $"La frase tiene {cv} vocales.";
        }

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

Definición de los códigos del ejercicio:

int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else if --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
switch --> use switch para especificar muchos bloques de código alternativos para ejecutar.
case --> el valor de la expresión se compara con los valores de cada case.
break --> sale del bloque de cambio.
Length --> obtiene el número de caracteres del objeto String actual.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
|| --> el operador || (OR) que quiere decir «o» expresa que al menos una de las dos expresiones debe ser verdadera y retornara verdadero.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

¿Qué hace el programa?

Este programa permite escribir una frase y contar cuántas vocales contiene. Luego muestra el resultado en una caja de texto.

Librerías utilizadas

using System;
using System.Windows.Forms;

Estas librerías permiten utilizar herramientas básicas de C# y crear formularios en Windows Forms.

Namespace

namespace Ejercicio

El namespace organiza el código del proyecto y agrupa las clases relacionadas.

Clase del formulario

public partial class frmEjercicio : Form

Esta línea crea el formulario principal del programa. La palabra Form indica que es una ventana de Windows Forms.

Constructor del formulario

public frmEjercicio()
{
    InitializeComponent();
}

El constructor inicializa todos los controles del formulario, como botones, cajas de texto y etiquetas.

Evento del botón Mostrar

private void btnMostrar_Click(object sender, EventArgs e)

Este evento se ejecuta cuando el usuario hace clic en el botón Mostrar.

Variables del programa

int cv = 0, i = 0;
string frase = txtFrase.Text;

cv guarda la cantidad de vocales.
i sirve para recorrer la frase.
frase almacena el texto ingresado por el usuario.

Ciclo while

while (i < frase.Length)

El ciclo while recorre letra por letra toda la frase hasta llegar al final.

Verificación de vocales

if (frase[i] == 'a')
{
    cv++;
}

El programa verifica si la letra actual es una vocal. Si encuentra una vocal, aumenta el contador usando cv++.

Lo mismo sucede con las vocales: e, i, o, u.

Incremento del contador

i++;

Después de revisar una letra, el contador aumenta en 1 para pasar al siguiente carácter.

Mostrar resultado

txtResultado.Text = $"La frase tiene {cv} vocales.";

Finalmente, el programa muestra la cantidad total de vocales encontradas en la frase.

Botón Limpiar

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

Este botón limpia las cajas de texto y coloca nuevamente el cursor en la caja donde se escribe la frase.

Resumen del funcionamiento

El usuario escribe una frase. El programa recorre cada letra usando un ciclo while, verifica si es una vocal y cuenta cuántas existen. Finalmente muestra el total encontrado.

Código del ejercicio: Otra forma de hacer

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)
        {
            int cv = 0, i = 0;
            string frase = txtFrase.Text;
            while (i < frase.Length)
            {
                switch (frase[i])
                {
                    case 'a':
                        cv++;
                        break;
                    case 'e':
                        cv++;
                        break;
                    case 'i':
                        cv++;
                        break;
                    case 'o':
                        cv++;
                        break;
                    case 'u':
                        cv++;
                        break;
                }
                i++;
            }
            txtResultado.Text = $"La frase tiene {cv} vocales.";
        }

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

Definición de los códigos del ejercicio:

int --> dato entero de 32 bits.
string --> dato de tipo cadena de texto.
while --> el ciclo while recorre un bloque de código siempre que una condición específica sea verdadera.
if --> use if para especificar un bloque de código que se ejecutará, si una condición especificada es verdadera.
else if --> use else if para especificar una nueva condición para probar, si la primera condición es falsa.
switch --> use switch para especificar muchos bloques de código alternativos para ejecutar.
case --> el valor de la expresión se compara con los valores de cada case.
break --> sale del bloque de cambio.
Length --> obtiene el número de caracteres del objeto String actual.
< --> el operador menor que ( < ) devuelve true si el operando izquierdo es menor que el operando derecho.
== --> el operador de igualdad ( == ) regresa true si sus operandos son iguales, false en caso contrario.
|| --> el operador || (OR) que quiere decir «o» expresa que al menos una de las dos expresiones debe ser verdadera y retornara verdadero.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
$"{}" --> interpolación de cadenas proporciona una sintaxis conveniente para concatenar varios valores para formar una cadena.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Librerías using

Las librerías permiten utilizar funciones ya creadas en C#.

using System;
using System.Windows.Forms;

System contiene funciones básicas del lenguaje.
System.Windows.Forms sirve para crear ventanas, botones y cajas de texto.

Namespace

namespace Ejercicio

El namespace organiza el proyecto y agrupa las clases relacionadas.

Clase del formulario

public partial class frmEjercicio : Form

Esta línea crea la ventana principal del programa.

frmEjercicio es el nombre del formulario y Form indica que hereda características de Windows Forms.

Constructor

public frmEjercicio()
{
   InitializeComponent();
}

El constructor se ejecuta cuando se abre el formulario.

InitializeComponent() carga todos los controles diseñados en la ventana.

Evento del botón Mostrar

private void btnMostrar_Click(object sender, EventArgs e)

Este método se ejecuta cuando el usuario hace clic en el botón Mostrar.

Variables

int cv = 0, i = 0;
string frase = txtFrase.Text;

cv almacena la cantidad de vocales.
i sirve para recorrer la frase.
frase guarda el texto escrito por el usuario.

Bucle while

while (i < frase.Length)

El ciclo while recorre toda la frase letra por letra.

Estructura switch

switch (frase[i])

El switch verifica si la letra actual es una vocal.

Casos de vocales

case 'a':
case 'e':
case 'i':
case 'o':
case 'u':

Cada case representa una vocal.

Si la letra coincide con una vocal, el contador aumenta.

Incrementar contador

cv++;

Incrementa en 1 la cantidad de vocales encontradas.

Avanzar en la frase

i++;

Permite pasar a la siguiente letra de la frase.

Mostrar resultado

txtResultado.Text = $"La frase tiene {cv} vocales.";

Muestra la cantidad total de vocales encontradas.

Botón Limpiar

txtFrase.Clear();
txtResultado.Clear();
txtFrase.Focus();

Clear() borra el contenido de las cajas de texto.

Focus() coloca nuevamente el cursor en la caja donde se escribe la frase.

No hay comentarios.:

Publicar un comentario

Mostrar los números de N número hasta 1 en Windows Forms C Sharp

Código del ejercicio: Con ciclo while using System ; using System . Collections . Generic ; using System . ComponentModel ; us...

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