Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1043 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Correcteur orthographique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Correcteur orthographique

n°1997031
mimineee
Posté le 29-05-2010 à 14:21:24  profilanswer
 

bonjour:),
alors j ai un mini projt a rendre (verificateur d hortographe)mais j ai pu faire q un simple dictionnaire est ceque quelqu un pourrais m aider merci etvoila le code du dictonnaire  
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <process.h>
#define ESC 27
 
//****************************************************************************
typedef struct definition
{
char t[256];
}definition;
typedef definition *defi ;
typedef struct arbre
{
char car;
arbre *frere;
arbre *fils;
defi def;
}arbre;
typedef arbre *ptr ;
char i='1';
ptr r=NULL,l=NULL,p=NULL;
//***********************les prototyes****************************************
void menu();
void creer();
void inserer_mot();
void inserer_caractere(char *);
void afficher();
//*****************************************************************************
void creer()
{
ptr n=r;
defi d;
clrscr();
p=(ptr)malloc(sizeof(arbre));
d=(defi)malloc(sizeof(definition));
gotoxy(10,12);printf("entrez une definition pour votre arbre :" );
scanf("%s",d->t);
p->car=i;
p->frere=NULL;
p->fils=NULL;
p->def=d;
if(r==NULL)
{
 r=p;
}
else
{
while(n->frere!=NULL)
      n=n->frere;
 n->frere=p;
}
n=r;
/*while(n!=NULL)
      {
      printf("%c %s",n->car,n->def->t);
      n=n->frere;
      getch();
      }*/
i++;
}
//**************************************inserer un mot********************************
void inserer_mot()
{
defi d;
int j=0;
char a[20];
l=r->fils;
clrscr();
printf("entrez le mot a inserer" );
scanf("%s",&a);
 
inserer_caractere(&a);
d=(defi)malloc(sizeof(definition));
printf("donnez la definition" );
scanf("%s",d->t);
l->def=d;
}
//***************void inserer caractére**************************************
void inserer_caractere(char c,int j)
{
int j=0;
if(l==NULL)
{
l=(ptr)malloc(sizeof(arbre));
l->fils=NULL;
l->frere=NULL;
l->def=NULL;
}
else
{
if(l->car!=c)
   {
   l=l->frere;
   j++;
   inserer_caractere(c[j]);
   }
else
   {
   l=l->fils;
   j++;
   inserer_caractere(c[j]);
   }
}
}
}
//**************************************afficher un mot******************************
void afficher()
{
/*if(l->fils!=NULL)
   {
   printf("%c",l->car);
   l=l->fils;
   afficher();
   }
else if(l->def!=NULL)
   {
   printf("%s",l->def->t);
   printf("\n" );
   }
else
   {
   printf("%c",l->car);
   l=l->frere;
   afficher();
   }*/
   printf("%c",l->car);
   l=l->fils;
   getch();
   printf("%c",l->car);
   l=l->fils;  getch();
   printf("%c",l->car);
   l=l->fils; getch();
   printf("%c",l->car);
 
}
//**************************************supprimer un arbre****************************
 
//**************************************programe principle****************************
void menu()
{
char choix;
do{
  clrscr();
  gotoxy(10,10);printf("<1> creer un arbre" );         //*******************
  gotoxy(10,12);printf("<2> supprimer un arbre" );
  gotoxy(10,14);printf("<3> GESTON D'UN ARBRE" );      //menu principal
  gotoxy(13,16);printf("<4> QUITTER" );                //*******************
  choix=getch();
  clrscr();
  switch(choix)
    {
     case'1':printf("<1> creer un arbre" );
             creer();
             getch();
             break;
   case'2':printf("<2> supprimer un arbre" );
             inserer_mot();
           getch();
             break;
     case'3':printf("<3> GESTON D'UN ARBRE" );
             l=r->fils;
             clrscr();
             afficher();
             getch();
             break;
    }
}while(choix!=ESC);
}
void main()
{
ptr p=r;
clrscr();
menu();
clrscr();
getch();
}

mood
Publicité
Posté le 29-05-2010 à 14:21:24  profilanswer
 

n°1997038
Elmoricq
Modérateur
Posté le 29-05-2010 à 14:33:39  profilanswer
 

Quelle est la question, au juste ?

 


edit : découpage du sujet dans un sujet à part. Merci d'éviter "d'en mettre partout" à l'avenir (je vois déjà un autre topic que tu as déterré pour ce même sujet), et d'être plus précis dans ta demande.


Message édité par Elmoricq le 29-05-2010 à 14:37:07
n°1997041
mimineee
Posté le 29-05-2010 à 14:36:26  profilanswer
 

qu est ce que je dois ajouter pour realiser un verificateur d hortographe :)

n°1997046
mimineee
Posté le 29-05-2010 à 14:42:07  profilanswer
 

ah oui vous avez raison :(:( cparce que c est lapemiere fois ou je vais m inscrire dans un forum mnt c bon :)

n°1997061
gilou
Modérateur
Modzilla
Posté le 29-05-2010 à 15:44:47  profilanswer
 

Citation :

verificateur d hortographe

Il va avoir de quoi tester, le soft...
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°1997151
Sve@r
Posté le 29-05-2010 à 21:42:57  profilanswer
 

mimineee a écrit :


#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <process.h>
#define ESC 27
 
//****************************************************************************
typedef struct definition
{
char t[256];
}definition;
typedef definition *defi ;
typedef struct arbre
{
char car;
arbre *frere;
arbre *fils;
defi def;
}arbre;
typedef arbre *ptr ;
char i='1';
ptr r=NULL,l=NULL,p=NULL;
//***********************les prototyes****************************************
void menu();
void creer();
void inserer_mot();
void inserer_caractere(char *);
void afficher();
//*****************************************************************************
void creer()
{
ptr n=r;
defi d;
clrscr();
p=(ptr)malloc(sizeof(arbre));
d=(defi)malloc(sizeof(definition));
gotoxy(10,12);printf("entrez une definition pour votre arbre :" );
scanf("%s",d->t);
p->car=i;
p->frere=NULL;
p->fils=NULL;
p->def=d;
if(r==NULL)
{
 r=p;
}
else
{
while(n->frere!=NULL)
      n=n->frere;
 n->frere=p;
}
n=r;
/*while(n!=NULL)
      {
      printf("%c %s",n->car,n->def->t);
      n=n->frere;
      getch();
      }*/
i++;
}
//**************************************inserer un mot********************************
void inserer_mot()
{
defi d;
int j=0;
char a[20];
l=r->fils;
clrscr();
printf("entrez le mot a inserer" );
scanf("%s",&a);
 
inserer_caractere(&a);
d=(defi)malloc(sizeof(definition));
printf("donnez la definition" );
scanf("%s",d->t);
l->def=d;
}
//***************void inserer caractére**************************************
void inserer_caractere(char c,int j)
{
int j=0;
if(l==NULL)
{
l=(ptr)malloc(sizeof(arbre));
l->fils=NULL;
l->frere=NULL;
l->def=NULL;
}
else
{
if(l->car!=c)
   {
   l=l->frere;
  j++;
   inserer_caractere(c[j]);

   }
else
   {
   l=l->fils;
  j++;
   inserer_caractere(c[j]);

   }
}
}
}
//**************************************afficher un mot******************************
void afficher()
{
/*if(l->fils!=NULL)
   {
   printf("%c",l->car);
   l=l->fils;
   afficher();
   }
else if(l->def!=NULL)
   {
   printf("%s",l->def->t);
   printf("\n" );
   }
else
   {
   printf("%c",l->car);
   l=l->frere;
   afficher();
   }*/
   printf("%c",l->car);
   l=l->fils;
   getch();
   printf("%c",l->car);
   l=l->fils;  getch();
   printf("%c",l->car);
   l=l->fils; getch();
   printf("%c",l->car);
 
}
//**************************************supprimer un arbre****************************
 
//**************************************programe principle****************************
void menu()
{
char choix;
do{
  clrscr();
  gotoxy(10,10);printf("<1> creer un arbre" );         //*******************
  gotoxy(10,12);printf("<2> supprimer un arbre" );
  gotoxy(10,14);printf("<3> GESTON D'UN ARBRE" );      //menu principal
  gotoxy(13,16);printf("<4> QUITTER" );                //*******************
  choix=getch();
  clrscr();
  switch(choix)
    {
     case'1':printf("<1> creer un arbre" );
             creer();
             getch();
             break;
   case'2':printf("<2> supprimer un arbre" );
             inserer_mot();
           getch();
             break;
     case'3':printf("<3> GESTON D'UN ARBRE" );
             l=r->fils;
             clrscr();
             afficher();
             getch();
             break;
    }
}while(choix!=ESC);
}
void main()
{
ptr p=r;
clrscr();
menu();
clrscr();
getch();
}
 
ah oui vous avez raison :(:( cparce que c est lapemiere fois ou je vais m inscrire dans un forum mnt c bon :)


C'est aussi la première fois que tu fais du C ou quoi ? T'as qu'une seule variable r et p (en plus en globale) et tu lui affectes des résultats de malloc dans une fonction probablement appelée des dizaines de fois. T'as pas peur de perdre de la mémoire par-ci par là ? Par ailleurs tu mets un & dans ton scanf pour une chaine, tu répètes des instructions identiques dans un if et dans son else, tu déclares main de type void. Bon, j'arrête de lire, de toute façon il y a trop de commentaires...
 

mimineee a écrit :

qu est ce que je dois ajouter pour realiser un verificateur d hortographe :)


Ben je sais pas. Analyser ton besoin, découper ton besoin en tâches élémentaires, programmer ces tâches dans des fonctions, faire appeler ces fonctions dans un main, donner à ce main un texte à analyser, savoir déjà écrire les mots correctement pour pouvoir apprendre à un programme à le faire, ouvrir un livre de C pour connaitre les bases de ce langage, bref beaucoup de taf quoi...[:jean-guitou]


Message édité par Sve@r le 29-05-2010 à 21:47:10

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Correcteur orthographique

 

Sujets relatifs
Correcteur d'ortographecorrecteur orthographique
[C#] Correcteur orthographiquecorrecteur HTML
Correcteur orthographiquecorrecteur d'orthographe
algo tolérance orthographique 
Plus de sujets relatifs à : Correcteur orthographique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR