Choubisoft Admin
Messages : 123 Points : 7125 Date de naissance : 02/11/1989 Date d'inscription : 18/02/2010 Age : 35 Localisation : Casablanca Emploi/loisirs : Etudiant
| Sujet: Algorithme du dictionnaire Dim 23 Mai - 12:32 | |
| Bonjour / Bonsoir chers membres,
Voila le code source du dictionnaire bon le code est simple, bien commenter, les fonctions sont si simple a comprendre mais ça empêche d'en discuter si vous rencontrez des difficulté ....
juste je doit motionner que si les barre des encadrement des tableaux et tout; s'il s'affiche bizarrement enlever les et remplacer les par leur code ASCII que vous pouvez retrouver ICI
Donc sans tarder voila le code C: - Code:
-
/** Name: dictionnaire Français → Anglais. Author : Boukhris Chouaib. Date: 09/05/10 12:25. Derniere Mise a Jour : 23/05/10 19:30 . Description: Manipulation de structure . Licence : Copyleft OpenSource. **/ #include <stdio.h> #include <stdlib.h> #include <string.h>
typedef struct{ char Mot_fr[30]; char Mot_an[30]; }Dico;
//==================================================================================================================================== // Foncion de saisie du dictionnaire. void Saisie(Dico *Trad, int N){ int i; char c;
while( (c=getchar())!='\n' && c!=EOF ); for(i=0; i<N; i++){ printf("\n\nDonnez le mot[%d] en français : ",i+1); gets((Trad+i)->Mot_fr);
printf("Donnez la traduction du '%s' en anglais : ",(Trad+i)->Mot_fr); gets((Trad+i)->Mot_an);
} }
//==================================================================================================================================== // Fonction qui suprime un Mot en Français. void Suppr_fr(Dico *Trad, int *N, char *Mot_rech){ int i, j;
for(i=0; i<*N; i++){ if(strcmp((Trad+i)->Mot_fr, Mot_rech) == 0){ for(j=i; j<*N-1; j++) *(Trad+j) = *(Trad+j+1);
*N-=1; }// end of if. }// end of for. }
//==================================================================================================================================== // Fonction qui donne la traduction d'un mot Fr en An. void Trad_FrToAn(Dico *Trad, int N, char *Mot_rech){ int i;
for(i=0; i<N; i++){ if(strcmp((Trad+i)->Mot_fr, Mot_rech) == 0){ printf("La traduction de %s == %s", Mot_rech, (Trad+i)->Mot_an); break; }// end of if. }// end of for. if(i == N) printf("Mot n'existe pas"); }
//==================================================================================================================================== // Fonction qui donne la traduction d'un mot An en Fr. void Trad_AnToFr(Dico *Trad, int N, char *Mot_rech){ int i;
for(i=0; i<N; i++){ if(strcmp((Trad+i)->Mot_an, Mot_rech) == 0){ printf("\nLa traduction de : %s == %s", Mot_rech, (Trad+i)->Mot_fr); break; }// end of if. }// end of for. if(i == N) printf("Mot n'existe pas"); }
//==================================================================================================================================== // Fonction qui affiche tout les elements du dictionaire. void Affiche(Dico *Trad, int N){ int i;
for(i=0; i<N; i++){ printf("\nMot fr: %s \t Mot an: %s", (Trad+i)->Mot_fr, (Trad+i)->Mot_an); } }
//====================================================================================================================== // Fonction de tri du dictionaire.
void Tri_dico(Dico *Trad, int N){ int i, j, min; char aux[30];
for(i=0; i<N-1; i++){ min=i; for(j=i; j<N; j++){ if(strcmp((Trad+min)->Mot_fr,(Trad+j)->Mot_fr) > 0) min=j; }
if(min != i){ strcpy(aux, (Trad+i)->Mot_fr); strcpy((Trad+i)->Mot_fr, (Trad+min)->Mot_fr); strcpy((Trad+min)->Mot_fr, aux); } } } //====================================================================================================================
int main(void){
char Mot[30]; int n; Dico *dico_trad;
printf("Donnez N: "); scanf("%d", &n);
dico_trad = (Dico*)malloc(sizeof(Dico)*n);
Saisie(dico_trad, n);
printf("Donnez le mot a suprimer en FR:"); gets(Mot); Suppr_fr(dico_trad, &n, Mot); Affiche(dico_trad, n);
printf("Donnez le mot FR a traduire en AN:"); gets(Mot); Trad_FrToAn(dico_trad, n, Mot);
printf("Donnez le mot An a traduire en FR:"); gets(Mot); Trad_AnToFr(dico_trad, n, Mot);
Affiche(dico_trad, n); printf("\n\n\n"); Tri_dico(dico_trad, n); Affiche(dico_trad, n);
return 0; }
| |
|
aknet
Messages : 29 Points : 5465 Date de naissance : 31/05/1990 Date d'inscription : 19/02/2010 Age : 34 Localisation : Casablanca - AlbertCity Emploi/loisirs : Informatique/Tennis
| Sujet: Re: Algorithme du dictionnaire Mar 25 Mai - 15:46 | |
| tnx choubi, on espère que ça se développe, et qu'on puisse envoyer les sources sous fichiers .c ou .cpp | |
|
Choubisoft Admin
Messages : 123 Points : 7125 Date de naissance : 02/11/1989 Date d'inscription : 18/02/2010 Age : 35 Localisation : Casablanca Emploi/loisirs : Etudiant
| Sujet: Re: Algorithme du dictionnaire Mar 25 Mai - 15:58 | |
| bah si ... tu peux les heberger sur un site & filer juste le lien ... mais je préfére ça pour qu'on puisse discuté du code c'est ce qui doit se devloppé | |
|
khalidmaroc1988
Messages : 39 Points : 5506 Date de naissance : 19/11/1988 Date d'inscription : 01/03/2010 Age : 36
| Sujet: Re: Algorithme du dictionnaire Ven 28 Mai - 17:17 | |
| | |
|
TSDI2008
Messages : 34 Points : 5379 Date de naissance : 12/08/1985 Date d'inscription : 27/08/2010 Age : 39 Localisation : laayoune Emploi/loisirs : etudiant
| Sujet: Re: Algorithme du dictionnaire Lun 25 Oct - 4:38 | |
| merci M l'Admin | |
|
Contenu sponsorisé
| Sujet: Re: Algorithme du dictionnaire | |
| |
|