>> 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.