Programme pour un correcteur orthographique

Le
ashlee.dupont
Le début de mon programme est censé m'ouvrir deux fichier texte dont
l'un qui est mon dictionnaire mais maitenant il y en a plus qu'un qui
s'ouvre. Et la seconde partie de mon programme est une fonction qui
permet de comparer mes deux fichiers texte mais cela ne fonctionne
pas.

Pouvez vous me dire ou cela bloque car je ne suis débutante dans la
programmation en C.


Merci pour votre aide

Le code en question :

#include <stdio.h>
#include <stdlib.h>
#define TAILLE_MAX 1000


typedef struct dico
{
char lettre;
char* mot;
struct ARBRE* fils;
struct ARBRE* frere;
}arbredico;


void ouvrir ()
{
char choix[256];
char chaine [TAILLE_MAX] = "";

printf("Quel fichier voulez vous ouvrir? mettre l'extention .txt
");
scanf("%s",choix);

FILE* fichier = NULL;

fichier = fopen (choix, "r");

if (fichier != NULL)
{
while (fgets(chaine, TAILLE_MAX, fichier) != NULL) // on lit le
fichier tant qu'on ne reçoit pas d'erreur NULL
{
printf ("%s", chaine); // on affiche la chaine qu'on vient
de lire
}
}
fclose (fichier);
}

void dictionnaire ()
{
char chaine [TAILLE_MAX];

FILE* arbredico = NULL;
arbredico =fopen ("dico.txt","r");
if (arbredico != NULL)
{
while (fgets(chaine, TAILLE_MAX, arbredico) != NULL) // on lit
le fichier tant qu'on ne reçoit pas d'erreur NULL
{
printf ("%s", chaine); // on affiche la chaine qu'on vient
de lire
}
}
}


int comparer(*fichier, *arbredico)
{
while (!EOF( fichier) && (!EOF( arbredico)
{
for (int i=0; i<256;i++)
{
fgets (ligne[i].fichier);
fgets (ligne[i].arbredico);
strcmp (ligne[i].fichier && ligne[i].arbredico);
if
{
ligne[i].fichier != ligne[i].arbredico;
fclose (fichier);
fclose (arbredico);
}
}
}
}


int main ()
{
char choix[256];
char dico[26];
ouvrir (choix, TAILLE_MAX);
dictionnaire (dico);

}
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Antoine
Le #19369901

Le début de mon programme est censé m'ouvrir deux fichier texte dont
l'un qui est mon dictionnaire mais maitenant il y en a plus qu'un qui
s'ouvre. Et la seconde partie de mon programme est une fonction qui
permet de comparer mes deux fichiers texte mais cela ne fonctionne
pas.



Ton code n'est pas compilable :
tu définis ouvrir() sans paramètre et tu l'appelles avec 2 paramètres
(pareil pour dictionnaire())
tu n'as pas mis les types de variable dans comparer() (des FILE * surement)
EOF est une constante, pas une fonction,
... etc
sandragarcia
Le #19369891
On 19 mai, 21:49, "Antoine"


>Le début de mon programme est censé m'ouvrir deux fichier texte dont
>l'un qui est mon dictionnaire mais maitenant il y en a plus qu'un qui
>s'ouvre. Et la seconde partie de mon programme est une fonction qui
>permet de comparer mes deux fichiers texte mais cela ne fonctionne
>pas.

Ton code n'est pas compilable :
tu définis ouvrir() sans paramètre et tu l'appelles avec 2 paramètr es
(pareil pour dictionnaire())
tu n'as pas mis les types de variable dans comparer() (des FILE * suremen t)
EOF est une constante, pas une fonction,
... etc



Te serait il possible de me montrer ce qu'il faut mettre par rapport
au code
Antoine
Le #19371511

On 19 mai, 21:49, "Antoine"
Ton code n'est pas compilable :
tu définis ouvrir() sans paramètre et tu l'appelles avec 2 paramètres
(pareil pour dictionnaire())
tu n'as pas mis les types de variable dans comparer() (des FILE *
surement)
EOF est une constante, pas une fonction,
... etc





Te serait il possible de me montrer ce qu'il faut mettre par rapport
au code



donc enlever les parametres :
ouvrir ();
dictionnaire ();
fermer le fichier arbredico et mettre en commentaire la fonction comparer()
qui n'a pas de sens.
et lire plutot les 2 fichiers dans des tableaux pour pouvoir faire des
comparaisons ensuite
sandragarcia
Le #19393091
On 20 mai, 07:59, "Antoine"

On 19 mai, 21:49, "Antoine"
>> Ton code n'est pas compilable :
>> tu définis ouvrir() sans paramètre et tu l'appelles avec 2 param ètres
>> (pareil pour dictionnaire())
>> tu n'as pas mis les types de variable dans comparer() (des FILE *
>> surement)
>> EOF est une constante, pas une fonction,
>> ... etc
>Te serait il possible de me montrer ce qu'il faut mettre par rapport
>au code

donc enlever les parametres :
ouvrir ();
dictionnaire ();
fermer le fichier arbredico et mettre en commentaire la fonction comparer ()
qui n'a pas de sens.
et lire plutot les 2 fichiers dans des tableaux pour pouvoir faire des
comparaisons ensuite




Concernant mon code on m'a conseillé d'utiliser un radix tree pour
stocker les mots du dictionnaire. Mais le souci c'est que je ne sais
pas comment faire est ce que quelqu'un peut me m'aider.

Merci
domi
Le #19393771
wrote:

Concernant mon code on m'a conseillé d'utiliser un radix tree pour
stocker les mots du dictionnaire. Mais le souci c'est que je ne sais
pas comment faire est ce que quelqu'un peut me m'aider.



Si tu as déjà du mal à charger des fichiers en mémoire, les radix ou
patricia tree ça va pas être évident.
Mais il y a bien sûr des exemples sur le web, comme
http://cprops.sourceforge.net/cp_trie.3.html
et avec "spell checker" sur google on trouve des exemples de correcteur
orthographique en c ou c++ : http://minilien.com/?7v187HrjNp
(code c à la fin avec une liste chainee)
ou
http://arioch.unomaha.edu/~jclark/cs2840/spell/main.cpp (c++)
Publicité
Poster une réponse
Anonyme