Cezar Cipher in C # - (Error Could not convert String to Char) [closed]

1

Cezar Cipher in C # - (Error Could not Convert String to Char)

Hello, I have a college exercise that you type a word and she plays the translation according to the posted shift.

If you type AB and the offset is 3 then the translation is A + 3 and B + 3 from the letters of the alphabet, getting translation: DE

For this I registered the whole alphabet, and then I look for the letter in the alphabet and I see her index in the alphabet, then I add her index with the displacement, and I look for the alphabet in the alphabet.

Can anyone fix my error or code?

Follow the code below:

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

namespace EXER03
{
    class Program
    {
        static void Main(string[] args) {
            //DECLARACAO DE VARIAVEIS
            string letra_substituta, letra, message, traducao;
            int z, indice, deslocamento;
            string[] alfabeto = new string[24];

            //CARREGA VETOR COM O ALFABETO
            biblioteca(alfabeto);

            do {
                //INICIO DO WHILE ONDE PERGUNTA O VALOR DO DESLOCAMENTO E A PALAVRA
                traducao = "";
                Console.WriteLine("Defina o numero de deslocamento:");
                deslocamento = Convert.ToInt16(Console.ReadLine());

                Console.Write("Digite a palavra: \n");
                message = Console.ReadLine();

                for (int i = 0; i < message.Length; i++) {
                    //ISSO EH PRA QUANDO ACABAR Z VOLTAR PARA A
                    if (i <= 24) {
                        indice = i;
                    } else {
                        indice = i - 24;
                    }
                    //CAPTURA LETRA A SUBSTITUIR
                    letra=message[i];

                    //FAZ PESQUISA NA BIBLIOTECA E RETORNA LETRA SUBSTITUTA DA LETRA DO LOOP ATUAL
                    letra_substituta = pesquisa(alfabeto, indice, deslocamento);

                    //CONCATENA A VARIAVEL COM AS LETRAS SUBSTITUITAS
                    traducao += letra_substituta;

                    //ESCREVE NA TELA DADOS ENCONTRADOS
                    for (z = 0; z < alfabeto.Length;z++ ) {
                        if (alfabeto[z] == letra) {
                            indice = z;
                        }
                    }
                    Console.WriteLine("O indice do caracter ({0}) é {1}: ", message[i], z);
                    Console.WriteLine("Sua letra no alfabeto é: ({0})", letra_substituta);
                    Console.WriteLine("-------------------------");
                }

                //ESCREVE NA TELA A TRADUCAO
                Console.WriteLine("-------------------------");
                Console.WriteLine("Traducao: {0}", traducao);
                Console.WriteLine("-------------------------");
            } while (deslocamento >= 0);
            Console.ReadKey();
        }

        //FUNCAO DE PESQUISA QUE RETORNA LETRA SUBSTITUTA
        static string pesquisa(string[] alfabeto, int indice, int deslocamento) {
            string r;
            int x;

            //ATRIBUI INDICE DA LETRA ATUAL COM A SOMA DO VALOR DO DESLOCAMENTO
            x = indice + deslocamento;
            r = alfabeto[x];
            return r;
        }

        //BIBLIOTECA ONDE CADASTRA O ALFABETO NO VETOR ALFABETO
        static void biblioteca(string[] alfabeto) {
            alfabeto[0] = "a";
            alfabeto[1] = "b";
            alfabeto[2] = "c";
            alfabeto[3] = "d";
            alfabeto[4] = "e";
            alfabeto[5] = "f";
            alfabeto[6] = "g";
            alfabeto[7] = "h";
            alfabeto[8] = "i";
            alfabeto[9] = "j";
            alfabeto[10] = "k";
            alfabeto[11] = "l";
            alfabeto[10] = "m";
            alfabeto[11] = "n";
            alfabeto[12] = "o";
            alfabeto[13] = "p";
            alfabeto[14] = "q";
            alfabeto[15] = "r";
            alfabeto[16] = "s";
            alfabeto[17] = "t";
            alfabeto[18] = "u";
            alfabeto[19] = "v";
            alfabeto[20] = "x";
            alfabeto[21] = "w";
            alfabeto[22] = "y";
            alfabeto[23] = "z";
        }

    }
}
    
asked by anonymous 08.10.2014 / 04:59

0 answers