Hello! I'm having problems with a "mini dictionary" that I'm putting together .... it's basically done, but the definition of the words, because they are too long, present an error when they are displayed. I suppose it's because of some limitation of the type of variable used. If anyone can help me I'll be grateful. Here is 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] != '#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] != '%pre%' && palavra2[x] !='%pre%') {
++x;
}
if (palavra1[x] == '%pre%' && palavra2[x] == '%pre%') {
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] = {'%pre%'};
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");
}
' && palavra2[x] !='%pre%') {
++x;
}
if (palavra1[x] == '%pre%' && palavra2[x] == '%pre%') {
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] = {'%pre%'};
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");
}