ROB BOWDEN: Ola, eu son Rob. E cando, en Roma, imos programa como os romanos. Entón, o primeiro que temos que facer é comprobar para asegurarse de que o usuario realmente entrou o número que queremos xirar cada personaxe, na liña de comandos. Entón, imos comprobar. É argc igual a 2? Se non é, iso significa que o usuario quere non introduza o número no liña de comandos ou que entraron moitos as cousas na liña de comandos, no que se non sabemos o que facer co resto das cousas. Entón, sempre que argc tiña dous anos, o que pudermos continuar co resto do programa. Agora, lembre que argv 1 é sempre unha cadea. Pero queremos tratalo como un número enteiro. Entón, usamos a función atoi que é conxunto p citada especificación para converter o corda argv 1 ata un número enteiro, e nós gardados que en clave. Queremos estar seguro de que o número enteiro que se ingresaran non é negativo. E se fose, queremos que a imprimir o usuario que non ten permiso para facelo, e volver. Entón, agora temos un válido número do usuario. Pero necesitamos ter unha secuencia do usuario que quere cifrar. Entón, nós costumávamos facerse while e utilizar get cadea para obter esta cadea a partir do usuario, e continuar a recibir corda ata que realmente introduza unha secuencia válida. Así que temos esa cadea, nós pode ir criptografía-lo. Entón, ese loop está facendo que o cifrado. Teña en conta que estamos a repetir desde i é igual a 0 t todo o camiño ata a I coincide n, no que n é definido como a lonxitude de a mensaxe, que a mensaxe é o cadea que o usuario inseriu. Entón, nós estamos interactuar sobre todo caracteres na cadea. E se un personaxe é maiúscula, así imos transferir-lo a usar esta fórmula, o que nós imos chegar a un segundo. E se se minúsculas, así que imos transferir-lo a usar esta é fórmula moi similar. E se isto non era nin un nin maiúscula unha letra minúscula - por exemplo, pode ser un número ou un símbolo -, entón nós Non imos facer nada para iso. Entón, cales son esas fórmulas? Ben, como é que imos cambiar o carácter A? Queremos tratar o personaxe A medida que o número 0. E queremos tratar o personaxe B, como o número 1, e así por diante. Son os personaxes cero e primeiros do alfabeto e así por diante. Entón, aquí, mensaxe i menos un se quere para dar o sitio numérico do letra do alfabeto. Entón, se a mensaxe de I é un, este vai dar 0. Agora, queremos engadir a iso o número que o usuario desexa xirar a carta por. Entón, se eles entraron 3, entón se a mensaxe Eu era un, iso daranos 0 e máis clave daranos 3. Entón, agora, estamos considerando o o terceiro lugar no alfabeto. A ver por iso que necesitamos mod por letras Nume nun segundo. Pero, finalmente, queremos engadir sobre a A rematar de novo para mover-nos de volta para a Os valores ASCII para estes personaxes en vez dos lugares numéricos no alfabeto deses personaxes. Entón, por que nós mod por letras Nume? Lembre que queremos involucrar en torno a a partir da extremidade do alfabeto ao A principios do alfabeto. Entón Z se o usuario tivese entrado, entón A resta de que vai ofrécenos 25. E se a chave foron 3, logo nós imos ter 28. Pero Z debe implicar en torno a ABC, entón 28 letras Nume mod, que é de hash definidas 26 como era de esperar, dará nos 2, onde C é a segunda carta de alfabeto, se lembrar que A é letra zeroth do alfabeto. Entón é por iso que necesitamos mod por cartas núm. Agora, o que necesitamos facer exactamente o mesmo por minúsculas, agás lembre que cando estamos lidando con minúsculas, teñen diferentes Os valores ASCII. E por iso debemos restar e engadir nunha para transferir-lo para abaixo do minúsculo Os valores ASCII e despois volver para o valores ASCII minúsculas orixinais. E, finalmente, que vai dar nosa mensaxe cifrada. E, ao final, só imprimir esa mensaxe, e é iso. O meu nome é Rob, e foi César.