Prezados, estou tendo problemas com a execução de um programa que tem como intuito simular o uso de um dicionario...
Estou iniciando o estudo na linguagem C, então caso encontre um erro besta por favor me notifique...
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>
char dic [][11]={"cat","gato",
"dog","cachorro",
"is", "é",
"bad","ruim",
"","",};
char frase [50];
char palavra [11];
char *p;
void pega_palavra()
{
char *q;
q=palavra;
while (*p && *p!=' ')
{
*q=*p;
p++;
q++;
}
if (*p==' ')p++;
*q='\0';
}
int traducao ()
{
int i;
for(i=0;*dic;i=i+2)
{
if(strcmp(dic,palavra)==0) break;
}
if(*dic) return (i+1);
else return (-1);
}
int main()
{
char opcao;
int linha;
do
{
printf("Insira a frase que queira traduzir: \n");
getc(frase);
fflush(stdin);
p=frase;
pega_palavra();
printf("\n====Menu====\n");
printf("A-Portugues\nB\nC\nS-Sair\n");
printf("\nEscolha uma opcao: ");
opcao=getchar();
opcao=toupper(opcao);
switch(opcao)
{
case 'A':
linha=traducao();
if(linha!=-1)
printf("%s ",dic[linha]);
else
printf("%s ",palavra);
pega_palavra();
break;
}
while(*palavra);
/*printf("\nQuer traduzir outra frase?s/n\n");
opcao=getche();*/
}while(opcao!='S');
return 0;
}