Lab 06-Metodo Del Cesar Recursivo

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 3

ALGORITMOS Y ESTRUCTURA DE DATOS

LABORATORIO N° 06
MÉTODO DEL CÉSAR OPERACIONES RECURSIVAS

1. DISEÑO DEL FORMULARIO

2. VENTANA DE PROPIEDADES

OBJETO PROPIEDAD VALOR


Form1 Text ENCRIPTACIÓN POR EL MÉTODO DEL CÉSAR

Label1 Text INGRESAR TEXTO A ENCRIPTAR

textBox1 Name TxtTexto

Label2 Text TEXTO ENCRIPTADO

textBox2 Name TxtEncriptado

Button1 Text ENCRIPTAR


Name BtnEncriptar

DR. LUIS BOY CHAVIL Pá gina 1


ALGORITMOS Y ESTRUCTURA DE DATOS

3. CREACIÓN DE LA CLASE OPERACIONES

// Definición de la Clase OPERACIONES

#pragma once
ref class OPERACIONES
{
public:
int tamaño;
public:
void CargarAlfabeto(char[], int, int);
void Encriptar(char[], char[], char[], char[], int);
int Buscar(char[], char, int);
OPERACIONES()
{
}
};
int OPERACIONES::Buscar(char alfabeto[], char letra, int k)
{
if (k >= 0)
{
if (alfabeto[k] == letra)
return(k);
else
return(Buscar(alfabeto, letra, k - 1));
}
else
return(-1);
}
void OPERACIONES::Encriptar(char AlfNormal[], char NewAlf[], char Original[], char
Encriptado[], int t)
{
if (t >= 0)
{
char letra = Original[t];
int xPosicion = Buscar(AlfNormal, letra, 93);
if (xPosicion > -1)
Encriptado[t] = NewAlf[xPosicion];
else
Encriptado[t] = '&';
Encriptar(AlfNormal, NewAlf, Original, Encriptado, t-1);
}
}
void OPERACIONES::CargarAlfabeto(char Alfabeto[], int k, int Rotacion)
{
if (k < 94)
{
Alfabeto[k] = k + Rotacion;
CargarAlfabeto(Alfabeto, k + 1, Rotacion);
}
}

DR. LUIS BOY CHAVIL Pá gina 2


ALGORITMOS Y ESTRUCTURA DE DATOS

4. IMPLEMENTACIÓN DEL CÓDIGO EN EL FORMULARIO

// Definición de Variables Globales


#include "OPERACIONES.h"
static char AlfClaro[94], NewAlf[94], TextoEncriptado[200];

// Programación de los botones de comando

private: System::Void BtnEncriptar_Click(System::Object^ sender, System::EventArgs^ e)


{
OPERACIONES OP;
OP.CargarAlfabeto(AlfClaro, 0, 32);
OP.CargarAlfabeto(NewAlf, 0, 33);
NewAlf[94] = 126;
String^ Texto = TxtTexto->Text;
OP.tamaño = TxtTexto->Text->Length;
char TextoParaEncriptar[200];
for (int z = 0; z < OP.tamaño; z++)
TextoParaEncriptar[z] = Convert::ToChar(Texto->Substring(z, 1));
OP.Encriptar(AlfClaro, NewAlf, TextoParaEncriptar, TextoEncriptado, OP.tamaño-1);
String^ CadenaEncriptada = "";
for (int z = 0; z < OP.tamaño; z++)
CadenaEncriptada += Char::ToString(TextoEncriptado[z]);
TxtEncriptado->Text = CadenaEncriptada;
}

DR. LUIS BOY CHAVIL Pá gina 3

También podría gustarte