Ir ao conteúdo
  • Cadastre-se

Danilo Marquiori

Membro Júnior
  • Posts

    3
  • Cadastrado em

  • Última visita

Reputação

0
  1. Por exemplo, Digitando a letra "a" esse char para mim cairia no numero 1. E ele na tabela ascii: 1=☺. minha criptografia seria somar 5. 6=♠. e não somar a+ 5 = f, andando 5 letras para frente. Não sei se entendi errado sua logica. Como disse, minha criptografia está certa, pelo menos a ideia. Se não estivesse não estaria nen compilando, esta dando erro de execução porq? seria esse monte de char que tenho que declarar? Disse para fazer um for.. como declaro isso no vetor? Tem outro jeito de declarar esses char a não ser o que eu fiz?
  2. Bom, sou meio novo em c, intão me desculpem a ignorância. É o seguinte, tenho que fazer um programa que faça criptografia de uma frase e depois mostro ela criptografada, e depois pegunto se quer descriptografar e depois a mostro também. Até ai tudo bem. No caso eu peguei a frase, tranformei ela em caracteres da tabela ascii, conforme seus numero alt + ... e depois somei esses numero por 5, só para complicar mais um pouquinho. o problema é o seguinte, tenho que declarar caracteres maiúsculos e minusculo, números e tambem pontuações, pois a frase pode conter todos esse tipos de caracteres. LEMBRANDO, AINDA NÃO FIZ A PARTE DA DESCRIPTOGRAFIA, é simples, porém quero fazer dar certo a criptografia primeiro, depois só subtraio por 5 em uma funçao na escolah sim dentro do switch. SEGUE O CODIGO: #include <stdio.h> #include <strings.h> char* criptografa(char* frase) { int i, j; //caracteres: Alfabeto minusculo, Alfabeto maiúsculo, pontuações, e numeros. char letras[] = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x','y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '.', ' ',',', ':', ';', '?','!', '@', '#', '$','-', '(', ')', '{', '}', '_', '1','2','3','4','5','6','7','8','9'}; //numeros que representam simbolos na Tabela Ascii (101 simbolos colocados). int numeros[] = { 1, 2, 3, 4, 5, 6, 7, 8, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250}; char* fraseCrypto; printf("%i", strlen(frase)); // Passando por cada letra da palavra informada for(i = 0; i < strlen(frase); i++) { // Passa por cada letra para descobrir em qual posição está for(j = 0; j < strlen(letras); j++) { if (frase == letras[j]) { fraseCrypto = numeros[j] + 5; } } } return fraseCrypto; } int main () { int i, j, sim=1, nao=2, escolha, frasedescripto, fraseCrypto; char frase[150], disc[150]; char* fraseCryptografada; printf("Digite a frase desejada: "); gets(frase); fraseCryptografada = criptografa(frase); for(i = strlen(frase); i < strlen(fraseCryptografada); i++) { fraseCryptografada = ' '; } // mostrando frase criptografada printf("Frase Criptografada: %s", fraseCryptografada); printf("\nDeseja descriptografar? "); scanf ("%i",&escolha); switch (escolha) { //sim case 1: printf ("Você escolheu descriptografar"); //vou chamar função aqui para descriptografar, ainda tenho que criala break; //não case 2: printf ("Você escolheu por não descriptografar "); break; } }

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