Procurar
Últimos assuntos
Quem está conectado?
Há 1 usuário online :: 0 registrados, 0 invisíveis e 1 visitante Nenhum
[ Ver toda a lista ]
O recorde de usuários online foi de 192 em Ter Out 26, 2021 6:07 am
Código Morse em C
Página 1 de 1
Código Morse em C
Teste do código morse >> http://www.numaboa.com.br/criptografia/codigos/codigos-abertos/334-Codigo-Morse
- Código:
#include <stdio.h>
#include <string.h>
#include <ctype.h>
static const struct
{
const char letter, *morse;
} Code[] =
{
{ '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', "--.. " },{ ' ', " " },
};
void codifica(const char *s)
{
size_t i, j;
for ( i = 0; s[i]; ++i )
{
for ( j = 0; j < sizeof Code / sizeof *Code; ++j )
{
if ( toupper(s[i]) == Code[j].letter )
{
printf("%s", Code[j].morse);
break;
}
}
}
putchar('\n');
}
void decodifica(const char *morse)
{
printf("função decodifica\n");
size_t i, j;
for ( i = 0; morse[i]; )
{
for ( j = 0; j < sizeof Code / sizeof *Code; ++j )
{
size_t size = strlen(Code[j].morse);
if ( memcmp(Code[j].morse, &morse[i], size) == 0 )
{
putchar(Code[j].letter);
i += size;
break;
}
}
}
putchar('\n');
}
int main(void)
{
int op=0;
char text[50];
char test[50];
printf("\t\t\t\tDigite sua opcao\n1_Codificar\n2_Decodificar\n:");
scanf("%d",&op);
switch (op)
{
case 1:
{
printf("Digite seu texto a ser codificado\n");
scanf(" %[^\n]",text);
codifica(text);
break;
}
case 2:
{
printf("Digite seu texto a ser decodificado\n");
scanf(" %[^\n]",test);
int len;
len = strlen(test);
if (test[len -1]!=' ')
{
strcat(test," "); //se falta space .. coloca um ;)
}
decodifica(test);
break;
}
default:
{
printf("Vc digitou uma opcao nao correspondente!!");
main();
break;
}
}
return 0;
}
juk- Mensagens : 262
Data de inscrição : 02/04/2012
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Seg Jan 02, 2023 2:13 pm por juk
» Cypecad 2019
Seg Jan 02, 2023 1:41 pm por juk
» Atualizando é instalando o IExplorer 11 no windows 7
Ter Ago 30, 2022 10:54 pm por juk
» COMO HABILITAR INTERNET EXPLORER NO WINDOWS 10
Sex Abr 29, 2022 6:43 pm por juk
» Usando o Monitor de Recursos do sistema para identificar processos Associados.
Qua Abr 06, 2022 10:19 am por juk
» Fazendo backup do anydesk
Ter Abr 05, 2022 7:30 pm por juk
» Recuperando Favoritos, senhas apos formatar o navegador (Mozilla Firefox ou Chrome)
Ter Abr 05, 2022 7:28 pm por juk
» Comando para tentar recuperar o windows
Qua Out 27, 2021 5:52 pm por juk
» NGROK para divulgação de site remoto
Ter Set 29, 2020 9:40 am por juk