Ir ao conteúdo
  • Cadastre-se

C# Programa Criptografia de César


Posts recomendados

Preciso de uma ajuda em um trabalho sobre um programa que consiga criptografar e descriptografar qualquer frase utilizando a Cifra de César! Consegui chegar a um ponto onde o programa consegue fazer as duas coisas, porém ele não está aceitando as letras "w" "x" "y" "z" na parte de "Descriptografar". Segue o código abaixo, desde já agradeço!! 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Cifra
{
    class Program
    {
        static void Main(string[] args)
        {
            //quantos caracteres deve saltar ao cifrar a string 
            int salto1 = 4;
            int salto2 = -4;
            int opcao = 0;
            //entrada 
            string palavra;
            //saída 
            string encriptado;
            int i;
            int letra;
            encriptado = "";

            Console.WriteLine("Escolha uma opção ");
            Console.WriteLine("1 - criptografar uma mensagem");
            Console.WriteLine("2 - Descriptografae uma mensagem");
            Console.WriteLine("3 - sair");
            opcao = int.Parse(Console.ReadLine());

            switch (opcao)
            {
                case 1:
                    Console.WriteLine("Insira a mensagem para ser criptografada: ");
                    palavra = Console.ReadLine().ToLower();

                    for (i = 0; i < palavra.Length; i++)
                    {
                        //converte para inteiro para obter o ascii 
                        letra = Convert.ToInt32(palavra) + salto1;
                        //se passar do 'z' volta ao inicio do alfabeto 
                        if (letra > 122) { letra = letra - 26; }
                        //converte ascii para char 
                        encriptado += Convert.ToChar(letra);
                    }
                    Console.WriteLine(encriptado);
                    Console.ReadLine();
                    break;

                case 2:
                    Console.WriteLine("Insira a mensagem para ser descriptografada: ");
                    palavra = Console.ReadLine().ToLower();

                    for (i = 0; i < palavra.Length; i++)
                    {
                        //converte para inteiro para obter o ascii 
                        letra = Convert.ToInt32(palavra) + salto2;
                        //se passar do 'z' volta ao inicio do alfabeto 
                        if (letra > 122) { letra = letra - 26; }
                        //converte ascii para char 
                        encriptado += Convert.ToChar(letra);
                    }
                    Console.WriteLine(encriptado);
                    Console.ReadLine();
                    break;
            }
        }
    }
}
 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...