domingo, 17 de mayo de 2026

Insertar un carácter en una posición específica de una cadena 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 btnInsertar_Click(object sender, EventArgs e)
        {
            string aux = "", frase, x;
            int i = 0, p;
            frase = txtFrase.Text;
            x = txtCaracter.Text;
            p = int.Parse(txtPosicion.Text);
            while(i < frase.Length)
            {
                if(i != p)
                {
                    aux += frase[i];
                }
                else
                {
                    aux = aux + x + frase[i];
                }
                i++;
            }
            frase = aux;
            txtResultado.Text = frase;
        }

        private void btnLimpiar_Click(object sender, EventArgs e)
        {
            txtFrase.Clear();
            txtCaracter.Clear();
            txtPosicion.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 --> use else para especificar un bloque de código a ejecutar, si la misma condición es falsa.
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 desigualdad ( != ) comprueba si sus dos operandos no son iguales y devuelve un resultado booleano.
+= --> el operador de asignación de suma ( += ) suma el valor del operando derecho a una variable y asigna el resultado a la variable.
++ --> el operador de incremento ( ++ ) incrementa (suma uno a) su operando y devuelve un valor.
Clear() --> borra todo el contenido del cuadro de texto.
Focus() --> establece el foco de entrada.

Explicación del Código:

Este programa permite insertar un carácter o texto dentro de una frase en una posición específica indicada por el usuario.

1. Librerías utilizadas

Las librerías permiten usar funciones básicas de C# y los controles de Windows Forms.
using System;
using System.Windows.Forms;

2. Namespace

El namespace agrupa las clases del proyecto.
namespace Ejercicio

3. Clase del formulario

La clase frmEjercicio representa la ventana del programa.
public partial class frmEjercicio : Form

4. Constructor del formulario

El constructor inicializa todos los componentes del formulario como botones, cajas de texto y etiquetas.
public frmEjercicio()
{
    InitializeComponent();
}

5. Evento del botón Insertar

Este evento se ejecuta cuando el usuario presiona el botón Insertar.
private void btnInsertar_Click(object sender, EventArgs e)

6. Declaración de variables

aux: almacena la nueva frase.
frase: guarda la frase original.
x: guarda el carácter a insertar.
i: contador para recorrer la cadena.
p: posición donde se insertará el carácter.
string aux = "", frase, x;
int i = 0, p;

7. Capturar datos

Se obtienen los datos escritos por el usuario en las cajas de texto.
frase = txtFrase.Text;
x = txtCaracter.Text;
p = int.Parse(txtPosicion.Text);

8. Recorrer la frase

El ciclo while recorre toda la frase carácter por carácter.
while(i < frase.Length)

9. Verificar posición

Si la posición actual es diferente de la posición indicada, se agrega normalmente el carácter original.
if(i != p)
{
    aux += frase[i];
}
Si la posición coincide, primero se inserta el nuevo carácter y luego el carácter original.
else
{
    aux = aux + x + frase[i];
}

10. Incrementar contador

El contador aumenta para seguir recorriendo la frase.
i++;

11. Mostrar resultado

La nueva frase se guarda y se muestra en la caja de resultado.
frase = aux;
txtResultado.Text = frase;

12. Botón Limpiar

Este botón limpia todas las cajas de texto y coloca el cursor nuevamente en txtFrase.
private void btnLimpiar_Click(object sender, EventArgs e)
{
    txtFrase.Clear();
    txtCaracter.Clear();
    txtPosicion.Clear();
    txtResultado.Clear();
    txtFrase.Focus();
}

13. Ejemplo del programa

Frase: Hola
Carácter: X
Posición: 2

Resultado: HoXla

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. ❤️