2
hello! I am having problems with a "mini dictionary" that I am mounting.... It is basically ready, but the definition of words, because they are too long, present an error when they are displayed. I suppose it is because of some limitation of the type of variable used. If anyone can help me I would be grateful. Follows the code:
#include <stdio.h>
#include <stdbool.h>
struct dicionario {
char palavra[21];
char definicao[51];
};
bool compararpalavras (const char palavra1[], const char palavra2[]) {
int x = 0;
while (palavra1[x] == palavra2[x] && palavra1[x] != '\0' && palavra2[x] !='\0') {
++x;
}
if (palavra1[x] == '\0' && palavra2[x] == '\0') {
return true;
} else {
return false;
}
}
int procurarpalavras (const struct dicionario lingua[], const char palavra[], const int numdepalavras) {
bool compararpalavras (const char palavra1[], const char palavra2[]);
int x = 0;
while (x < numdepalavras) {
if (compararpalavras( lingua[x].palavra, palavra)) {
return x;
} else {
++x;
}
}
return -1;
}
int main (void) {
int procurarpalavras (const struct dicionario lingua[], const char palavra[], const int numdepalavras);
const int NUMERODEDEFINICOES = 7;
char palavra[21] = {'\0'};
int resultadopesquisa;
int sair;
const struct dicionario portugues[7] = {
{"C", "Linguagem de programacao considerada de baixo nivel"},
{"cafe", "Combustivel usado por programadores"},
{"java", "Linguagem de programacao avancada"},
{"computador", "dispositivo provido de hardware e software capaz de executar operacoes matematicas de alto nivel"},
{"windows", "Sistema operacional amplamente utilizado por pessoas desprovidas de conhecimentos avancados na area de computacao"},
{"mac", "Sistema operacional criado por Steve Jobs, o proprietario da empresa de tecnologia aplle"},
{"pizza", "tipico aperitivo consumido por programadores durante turnos estendidos"}};
printf("*==================================================================*\n");
printf("| DICIONARIO GEEK V. 1.0 |\n");
printf("| |\n");
printf("|Autor: Luis Paulo T. Franca |\n");
printf("*==================================================================*\n\n");
printf ("digite uma palavra: ");
scanf ("%s", palavra);
resultadopesquisa = procurarpalavras (portugues, palavra, NUMERODEDEFINICOES);
if (resultadopesquisa != -1) {
printf ("%s\n", portugues[resultadopesquisa].definicao);
} else {
printf ("\npalavra nao encontrada\n");
}
system ("pause");
}