Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- int testeSupremo(int decimal);
- void codificar();
- void decodificar();
- int main()
- {
- int escolha;
- while(1)
- {
- printf("\ndigite 1 para codificar, 2 para decodificar ou outro para sair: ");
- scanf("%d", &escolha);
- if (escolha == 1)
- codificar();
- else if (escolha == 2)
- decodificar();
- else
- break;
- }
- return 0;
- }
- int testeSupremo(int decimal)
- {
- int i=0, soma=0, verdadeiro=decimal;
- if (verdadeiro>127)
- {
- verdadeiro=verdadeiro-128;
- while (decimal)
- {
- if (decimal%2==1)
- {
- i=i*10+1;
- soma++;
- }
- else
- i=i*10;
- decimal=decimal/2;
- }
- if(soma%2)
- return 0;
- else
- return verdadeiro;
- }
- else
- {
- while (decimal)
- {
- if (decimal%2==1)
- {
- i=i*10+1;
- soma++;
- }
- else
- i=i*10;
- decimal=decimal/2;
- }
- if (soma%2)
- return verdadeiro+128;
- else
- return verdadeiro;
- }
- }
- void decodificar()
- {
- int d;
- char decodificado;
- scanf("%d ", &d);
- while (d!=46)
- {
- decodificado=testeSupremo(d);
- if (decodificado)
- printf("%c", decodificado);
- else
- printf("*");
- scanf("%d ", &d);
- }
- printf("%c", decodificado);
- }
- void codificar()
- {
- char c;
- int codificado;
- scanf("%c", &c);
- while (c!='.')
- {
- scanf("%c", &c);
- codificado=testeSupremo(c);
- printf("%d ", codificado);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement