Cómo hago este ejercicio. He utlizado la función atoi pero al introducir una palabra como Perro, me da 0.
Diseña un programa que lea una cadena y copie en otra una versión cifrada. La cifrado convertirá cada letra (del alfabeto inglés) en la que le sigue en la tabla ASCII (excepto en el caso de las letras z y Z, que serán sustituidas por a y A, respectivamente.)
Gracias por responder mis dudas ::)
no entendi para nada que tiene que ver esto con atoi... atoi es para convertir algo como (char)'1' en (int)1
toda letra es char normalmente y los char se pueden interpretar como numeros siempre que no uses comillas, es decir
Siempre es bueno aclarar conceptos, pero entonces que utilizo para convertir un char a int?
char se puede tratar como numérico directamente (por que lo es a cierto nivel)
ej
#include <stdio.h>
int main(){
char letra = 'a';
letra++;
printf("%c",letra);
return 0;
}
esto responderá "b"
Gracias, y si quiero hacerlo con un nombre, recorro la cadena con un for?
Tú lo has dicho. Solo tienes que sumarle 1 a cada letra, salvo en el caso de que sea 'z' o 'Z'. Eso lo haces con dos if-else.
Como dato, este tipo de cifrado se llama cifrado Cesar. En este caso, con clave 1 (puesto que sumas 1 a cada letra).