Pular para o conteúdo

"Avançar" letras

Responder tópico
  • Denunciar
  • Indicar

1. "Avançar" letras

Enviado em 16/09/2013 - 10:09h

Assim gente, sei que o assunto ficou meio estranho, mas o que eu preciso na verdade não é tão complicado assim, só que eu não sei fazer.

Estou fazendo um exercício de Cifra de Cézar.. então preciso que ao digitar a letra "A", ele cifre, ou seja, mude da letra "A" para letra, "D", avançando 3 casas.

Como que eu posso fazer isso ?


Responder tópico

3. Re: "Avançar" letras

Enviado em 16/09/2013 - 11:00h

gokernel escreveu:


http://codepad.org/BVlamQHt
Báa cara, beleza. Deu certo.

Só mais uma dúvida, considerando que eu uso cout ao invés de
printf, como eu poderia fazer pra imprimir a letra e não o número ?




4. Re: "Avançar" letras

Enviado em 16/09/2013 - 11:39h

Soh um detalhe, a contagem naum vai dar certo no caso das ultimas 3 letras do alfabeto, pois qndo vc soma+3 ele troca pelo equivalente ASC então X==88,Y==89,Z==90 (decimal-maiuscula), por exemplo no caso do Z ele irá trocar por ']' que eh o equivalente ASC isto leva a não cumprir corretamente o algoritmo de criptografia cifra de César, sugiro (q eh uma maneira simples) que use um if especifico para estes casos inclusive para os mesmos caracteres minusculos.Cosulte a ASC II para mais info. Espero ter ajudado.

5. Re: "Avançar" letras

Enviado em 16/09/2013 - 11:44h

clodoaldoPeres escreveu:

Soh um detalhe, a contagem naum vai dar certo no caso das ultimas 3 letras do alfabeto, pois qndo vc soma+3 ele troca pelo equivalente ASC então X==88,Y==89,Z==90 (decimal-maiuscula), por exemplo no caso do Z ele irá trocar por ']' que eh o equivalente ASC isto leva a não cumprir corretamente o algoritmo de criptografia cifra de César, sugiro (q eh uma maneira simples) que use um if especifico para estes casos inclusive para os mesmos caracteres minusculos.Cosulte a ASC II para mais info. Espero ter ajudado.
Siim, tenho que cuidar esse detalhe mesmo. Valeu pela dica :D

6. Re: "Avançar" letras

Enviado em 16/09/2013 - 13:44h


" ... considerando que eu uso cout ao invés de printf, como eu poderia fazer pra imprimir a letra e não o número ?"

Isso nao sei como fazer em C++ .

Mas sei fazer usando sprintf:
sprintf (buf, "A: %c", i);

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder