ROB BOWDEN: Hola, soy Rob. Y cuando en Roma, vamos a programa lo que vieres. Por lo tanto, lo primero que tenemos que hacer es comprobar para asegurarse de que el usuario realmente entró el número que queremos rotar cada personaje en la línea de comandos. Así, comprobamos. Es argc igual a 2? Si no es así, eso significa que el usuario sea no introduzca el número en el línea de comandos o entraron demasiados cosas en la línea de comandos, en la que caso no sabemos qué hacer con el resto de las cosas. Así, siempre que argc tenía dos años, podemos continuar con el resto del programa. Ahora, recuerde que argv 1 siempre es una cadena. Pero queremos tratarlo como un entero. Por lo tanto, utilizamos la función atoi eso es set p mencionada especificación para convertir el cadena argv 1 en un entero, y que almacenamos en clave. Queremos asegurarnos de que el número entero que se ha introducido no es negativo. Y si lo fuera, queremos publicar que a al usuario de que no se les permite para hacer eso, y regresar. Por lo tanto, ahora tenemos una válida número del usuario. Pero tenemos que conseguir una cadena de la usuario que queremos cifrar. Así que solíamos hacer-while y utilice llegar cadena para obtener esta cadena desde el usuario, y continuar recibiendo la cadena hasta que realmente ingrese una cadena válida. Una vez que tengamos esa cadena, que puede pasar a cifrarlo. Así, este bucle está haciendo que el cifrado. Nótese que estamos iterando desde i es igual a 0 t hasta el final hasta que i es igual a n, donde n se define como la longitud de nuestro mensaje, donde el mensaje es el cadena que el usuario ha introducido. Así que estamos interactuando sobre todo caracteres de la cadena. Y si un personaje está en mayúsculas, a continuación, vamos a cambiar usando esta fórmula, que vamos a llegar en un segundo. Y si estaba en minúsculas, a continuación, vamos a cambiarlo usando este es fórmula muy similar. Y si no era ni una mayúscula ni una letra minúscula - por ejemplo, podría ser un número o un símbolo - entonces no van a hacer nada para ello. Así que, ¿cuáles son estas fórmulas? Bueno, ¿Cómo podemos cambiar el carácter A? Queremos tratar el carácter A medida que el número 0. Y queremos tratar el carácter B como el número 1, y así sucesivamente. Son los personajes de orden cero y del alfabeto y así sucesivamente. Así que aquí, el mensaje i menos A se supone para darnos el lugar numérico del letra del alfabeto. Así que si el mensaje i es A, esta nos va a dar 0. Ahora, queremos añadir que el número que el usuario desea girar la carta. Así que, si entraban 3, entonces si el mensaje Yo era una, esto nos da 0 y más clave nos dará 3. Así que ahora, estamos considerando la el tercer lugar en el alfabeto. Ya veremos por qué necesitamos de mod por letras números en un segundo. Pero, finalmente, queremos añadir a la A terminar de nuevo a nosotros cambiar de nuevo en el Valores ASCII de estos personajes en lugar de los lugares numéricos en la alfabeto de estos personajes. Así que, ¿por qué mod por letras números? Recuerde que queremos para envolver desde el final del alfabeto a la a partir del alfabeto. Así Z si el usuario había entrado, a continuación, Un restar de que se va a nos dan 25. Y si la clave no son 3, entonces vamos a tener 28. Pero Z debe envolver a la ABC, por lo que 28 letras num mod, que se define de hash como 26 que es de esperar, va a dar nosotros 2, donde C es la segunda letra del el alfabeto, si usted recuerda que A es la carta cero del alfabeto. Así que por eso tenemos que mod por letras num. Ahora, tenemos que hacer exactamente lo mismo para las letras minúsculas, excepto recordar que cuando estamos tratando con letras minúsculas, tienen diferente Valores ASCII. Y así tenemos que restar y añadir un para desplazarla hacia abajo desde la minúscula Valores ASCII y luego de vuelta a la valores ASCII minúsculas originales. Y, por último, que nos dará nuestro mensaje cifrado. Y al final, acabamos imprimimos ese mensaje, y eso es todo. Mi nombre es Rob, y era César.