>> ROB BOWDEN: Oi, eu sou Rob.
E quando, em Roma, vamos programa como os romanos.
Então, a primeira coisa que precisamos fazer é verificar para se certificar de que o usuário realmente entrou
o número que queremos girar cada personagem, na linha de comando.
>> Então, vamos verificar.
É argc igual a 2?
Se não for, isso significa que o usuário quer não insira o número no
linha de comando ou que entraram muitos as coisas na linha de comando, em que
caso não sabemos o que fazer com o restante das coisas.
Então, desde que argc tinha dois anos, o que pudermos continuar com o resto do programa.
>> Agora, lembre-se que argv 1 é sempre uma string.
Mas queremos tratá-lo como um número inteiro.
Então, usamos a função atoi que é conjunto p citada especificação para converter o
corda argv 1 até um número inteiro, e nós armazenamos que em chave.
Queremos ter certeza de que o número inteiro que foi digitado não é negativo.
E se fosse, nós queremos que a imprimir o usuário que não tem permissão
para fazer isso, e voltar.
>> Então, agora temos um válido número do utilizador.
Mas precisamos ter uma seqüência do usuário que deseja criptografar.
Então, nós costumávamos fazer-while e usar get string para obter esta string a partir do
usuário, e continuar recebendo corda até que eles realmente
digite uma seqüência válida.
>> Assim que tivermos essa string, nós pode ir para criptografá-lo.
Então, esse loop está fazendo que a criptografia.
Observe que estamos repetindo a partir de i é igual a 0 t todo o caminho até a I é igual
n, em que n é definido como o comprimento de a mensagem, que a mensagem é o
string que o usuário digitou.
>> Então, nós estamos interagindo sobre tudo caracteres na string.
E se um personagem é maiúscula, então vamos transferi-lo usando este
fórmula, o que nós vamos chegar em um segundo.
E se foi minúsculas, então vamos transferi-lo usando este é
fórmula muito similar.
E se isso não era nem um nem maiúscula uma letra minúscula - por exemplo,
pode ser um número ou um símbolo -, então nós Não vamos fazer nada para isso.
>> Então, quais são essas fórmulas?
Bem, como é que vamos mudar o caráter A?
Queremos tratar o personagem A medida que o número 0.
E nós queremos tratar o personagem B, tal como o número 1, e assim por diante.
São os personagens zero e primeiros do alfabeto e assim por diante.
>> Então, aqui, mensagem i menos um é suposto para nos dar o lugar numérico do
letra do alfabeto.
Então, se a mensagem de I é um, este vai nos dar 0.
Agora, queremos acrescentar a isso o número que o usuário deseja
girar a carta por.
Então, se eles entraram 3, então se a mensagem Eu era um, isso nos dará 0 e mais
chave nos dará 3.
>> Então, agora, estamos considerando o o terceiro lugar no alfabeto.
Vamos ver por isso que precisamos de mod por letras núme em um segundo.
Mas, finalmente, queremos acrescentar sobre a A terminar novamente para deslocar-nos de volta para a
Valores ASCII para esses personagens em vez dos locais numéricos no
alfabeto desses personagens.
>> Então, por que nós mod por letras núme?
Lembre-se que nós queremos envolver em torno de a partir da extremidade do alfabeto para o
No início do alfabeto.
Então Z se o usuário tivesse entrado, então A subtracção de que vai
dá-nos 25.
E se a chave foram 3, em seguida, nós vamos ter 28.
Mas Z deve envolver em torno de ABC, então 28 letras núme mod, que é de hash definidas
26 como seria de esperar, vai dar nos 2, onde C é a segunda carta de
o alfabeto, se você se lembrar que A é a letra zeroth do alfabeto.
>> Então é por isso que precisamos mod por cartas núm.
Agora, o que precisamos fazer exatamente a mesma coisa por letras minúsculas, exceto
lembre-se que quando estamos lidando com letras minúsculas, eles têm diferentes
Valores ASCII.
E por isso temos de subtrair e adicionar em uma para transferi-lo para baixo do minúsculo
Valores ASCII e depois voltar para o valores ASCII minúsculas originais.
>> E, finalmente, que vai nos dar nossa mensagem criptografada.
E, no final, nós só imprimir essa mensagem, e é isso.
Meu nome é Rob, e foi César.