1
« en: Domingo 8 de Julio de 2012, 21:01 »
hola estaba revisando un codigo cesar
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#define N 80
void encriptarFrase();
void desencriptarFrase();
int largo;
char frase[N];
int main ()
{
printf("Ingrese la frase: ");
gets(frase);
largo = strlen(frase);
encriptarFrase();
printf("La frase encriptada es: %sn",frase);
desencriptarFrase();
printf("La dfrase desencriptada es: %sn",frase);
return 0;
}
void encriptarFrase ()
{
int i;
for(i=0 ; i<largo ; ++i)
{
//convierte las minuscalas a mayuscula.
*(frase + i) = toupper(*(frase + i));
//descarta los digitos
if(isalpha(*(frase + i)))
{
//verifica los casos especiales X-Y-Z
if(*(frase + i) > 87)
{
*(frase+i) = *(frase+i) - 23;
}
else
{
*(frase + i) = *(frase + i) + 3;
}
}
}
}
void desencriptarFrase ()
{
int i;
for(i=0 ; i<largo ; ++i)
{
if(isalpha(*(frase + i)))
{
if(*(frase + i) < 68)
{
*(frase+i)= *(frase+i) + 23;
}
else
{
*(frase+i)= *(frase+i) - 3;
}
}
}
}
pero yo quiero el afin queria darme una idea con este
pero para encriptar
necesito 2 variables mas que es a y b que el usuario les pondra valor y
tengo que agarrar la posicion de la letra que el usuario coloco * a que es el valor q ue le ponga el usuario y el resultarlo sumarlo mas b
y si es mayor a 27 que 27 es el valor del abecedario entonces lo debe de dividir agarrar el residuo y buscarlo en el abecedario e imprimir la letra que corresponde