You are on page 1of 5

#include <stdio.

h>
#include <stdlib.h>

char decoder(char *frasecodec)


{
char frase_decodec[1000];
if((frasecodec[0] == ' ') && (frasecodec[1] == ' '))
return;

int i,j;
j=0;
for(i=0;i<1000;i++){
if((frasecodec[0] != 'p') && (frasecodec[0] != 'P'))
{
// Se a posicao 0 nao for p, a codificacaoe sta incorreta
printf("\nMensagem deve iniciar com a letra P! Redigite");
system("pause");
return;}
if((frasecodec[i] == ' ') && (frasecodec[i + 1] == ' ')){
// Se houver dois estaos seguidos a mensagem esta incorreta
printf("\nMensagem nao pode conter dois espacos seguidos! Redigite")
;
system("pause");
return;}
/* if(frasecodec[i] < 'A' && > 'Z'){ //&& (frasecodec[i] > 'z')){
// || (frasecodec[i] > 'A') && (frasecodec[i] < 'Z') || (frasecodec[i
] != ' '))
printf("\nDigite apenas letras maisculas e minusclas e espacos em br
ancoI Redigite");
return;}
*/

if((frasecodec[i]
frasecodec[i +
//Se houver um
// tropo este P

== 'p') && (frasecodec[i + 1] == 'p'))


1 ] = '#';
P na mensagem que fizer parte da mesma
por um coringa

if(frasecodec[i] != 'p')
{
if(frasecodec[i] == '#')
frasecodec[i] = 'p';
//Aqui troco o curinga pelo P que faz parte da mensagem
frase_decodec[j] = frasecodec[i];
j++;}
}
system("cls");
printf("\nMensagem codificada..: %s", frasecodec);
printf("\n\nMensagem decodificada: %s", frase_decodec);

printf("\n\n");
system("\pause");

char encoder(char *frase_decod){

char frase_codec[1000];
int i,j;
j=0;
for(i=0;frase_decod[i] != '\0';i++){
// Eliminar o caracter \0 que encerra a string entre palavras
// da frase
if(frase_codec[i] == '\0')
frase_codec[i] = ' ';
// Aqui faz com que cada letra da frase receba um p exeto quando h um espao
// na frase
if(frase_decod[i] == ' ')
frase_codec[i+j]=' ';
else
frase_codec[i+j]='p';

j++;
// Monta a frase codificada na lingua do "p".
frase_codec[i + j]=frase_decod[i];
}
// Abaixo inseri final de string para nao mostrar sujeiras
// apos o final da frase completa
frase_codec[i+j]='\0';
// Mostra a frase codificada na lingua do "p".

system("cls");
printf("\nMensagem codificada..: %s", frase_codec);
printf("\n\nMensagem decodificada: %s", frase_decod);
printf("\n\n");
system("\pause");

}
void menu(){
system("cls");
printf("\nMenu - Codificar ou Decodificar a Lingua do 'P'");
printf("\n\n\n
printf("\n
2 printf("\n
3 printf("\n
4 printf("\n
5 printf("\n
6 tepad");
printf("\n
7 printf("\n\nDigite

1 - Inserir Mensagem");
Decodificar Mensagem");
Codificar Mensagem");
Exibir Mensagem Codificada");
Exibir Mensagem Decodificada");
Abrir arquivo de Mensagem Decodificada e Codificada no No
Encerrrar o aplicativo");
a Opcao que Deseje:");

}
int main()
{

char mensagem[1000];// = "pVpapmpops ppaprpa po pcpipnpepmpa";


char frase[1000];

char opc;
while(opc != '7')
{
menu();
opc=getchar();
switch(opc){
case '1': // Inserir
printf("Digite sua mensagem:");
fflush(stdin);
gets(mensagem);
break;
case '2':
if(mensagem[0] == '\0'){
break;}

if(mensagem[0] != 'p')
{
printf("\nComo sua mensagem nao esta codificada,\n");
printf("o aplicativo codificara automaticamente \nsua men
sagem!\n");
system("pause");
encoder(mensagem);
break;}
if((mensagem[0]
(mensagem[1]
(mensagem[1]
(mensagem[1]
(mensagem[1]
(mensagem[1]
(mensagem[2]
(mensagem[3]
(mensagem[3]
(mensagem[3]
(mensagem[3]
(mensagem[3]

==
==
==
==
==
==
==
==
==
==
==
==

'p') &&
'a') ||
'e') ||
'i') ||
'o') ||
'u') &&
'p') &&
'a') ||
'e') ||
'i') ||
'o') ||
'u'))

{
printf("\nComo sua mensagem nao esta codificada,\n");
printf("o aplicativo codificara automaticamente \nsua men
sagem!\n");
system("pause");
encoder(mensagem);
break;}

decoder(mensagem);
break;
case '3':
if(mensagem[0] == '\0') {
break;}
if((mensagem[0] == 'p') && (mensagem[2] == 'p') && (mensagem
[4] == 'p') ||
(mensagem[0] == 'p') && (mensagem[1] == 'p'))
{
printf("\nO Aplicativo identificou que a mensagem\n esta
CODIFICADA.\n");
printf("O aplicativo decodificara automaticamente\n sua m
ensagem!\n");
system("pause");
decoder(mensagem);
break;} // pVpApCpA
encoder(mensagem);
break;
default:;
}
}
}