Voila ce que j'ai fait a present sur le projet en fait les grilles de mots croisés seront sauvegarder sous forme de fichier txt dont voici un exemple
1 (drapeau pour indique achevement de la grille)
4,4 (nombre de lignes et de colonnes de la grille)
ANES
IULE (composition de la grille)
DEUX
E-SE
4 (Nombre de mots horizontaux)
0,0,4 (position de la premiere lettre du mot ligne, colonne, nb de lettres)
Sots (definition du mot)
1,0,4
Ver
2,0,4
Après un
3,2,2
Selenium
4 (Nombre de mots horizontaux)
0,0,4 (ligne, colonne de la premiere lettre, nb de lettres)
Coup de main
0,1,3
Sans effets
0,2,4
Saints
0,3,4
Homme ou femme
Pour l'instant j'ai fait un prog (qui a l'air de marcher ) me permettant de lire ce document txt et de l'ecrire
le voici
//Prototypes des fonctions de bibliothèques
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
//Déclarations/définitions des constantes nommées
#define TailleMaximaleEnregistrement 100
#define MaxLC 10
#define MaxDef 100
#define MaxLongDef 50
//Prototypes des fonctions réalisées pour ce programme
int WriteGrid(char NomFichier[32]);
int ReadGrid(char NomFichier[32]);
int gStatut,gLignes,gColonnes,gDNHor,gDNVer;
int gDHLig[MaxDef],gDHCol[MaxDef],gDHNLet[MaxDef];
int gDVLig[MaxDef],gDVCol[MaxDef],gDVNLet[MaxDef];
char gGrilleH[MaxLC][MaxLC+1];
char gDefH[MaxDef][MaxLongDef];
char gDefV[MaxDef][MaxLongDef];
// Programme principal
main()
{
// Déclarations des variables
char String[80],File[80];
int i,WriteOk,ReadOk;
strcpy(String,"H:\\RLC\\ESSAI.GRF" );
ReadOk=ReadGrid(String);
printf("%d",ReadOk);
strcpy(String,"H:\\RLC\\ESSAY.GRF" );
WriteOk=WriteGrid(String);
printf("%d",WriteOk);
printf("C'est fini!" );
gets(String);
}
int WriteGrid(char NomFichier[32])
{
int Num,WriteOK;
FILE *FichierSortie;
if ((FichierSortie = fopen(NomFichier,"wt" ))== NULL)
{
WriteOK=0;
}
else
{
WriteOK=1;
fprintf(FichierSortie,"%d\n",gStatut);
fprintf(FichierSortie,"%d,%d\n",gLignes,gColonnes);
for (Num=0;Num<gLignes;Num=Num+1)
{
fprintf(FichierSortie,"%s\n",gGrilleH[Num]);
}
fprintf(FichierSortie,"%d\n",gDNHor);
for (Num=0;Num<gDNHor;Num=Num+1)
{
fprintf(FichierSortie,"%d,%d,%d\n",gDHLig[Num],gDHCol[Num],gDHNLet[Num]);
fprintf(FichierSortie,"%s\n",gDefH[Num]);
}
fprintf(FichierSortie,"%d\n",gDNVer);
for (Num=0;Num<gDNVer;Num=Num+1)
{
fprintf(FichierSortie,"%d,%d,%d\n",gDVLig[Num],gDVCol[Num],gDVNLet[Num]);
fprintf(FichierSortie,"%s\n",gDefV[Num]);
}
}
fclose(FichierSortie);
return(WriteOK);
}
int ReadGrid(char NomFichier[32])
{
int Num,Long,ReadOK;
char TamponLecture[TailleMaximaleEnregistrement];
FILE *FichierEntree;
if ((FichierEntree = fopen(NomFichier,"rt" ))== NULL)
{
ReadOK=0;
}
else
{
ReadOK=1;
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
sscanf(TamponLecture,"%d",&gStatut);
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
sscanf(TamponLecture,"%d,%d",&gLignes,&gColonnes);
for (Num=0;Num<gLignes;Num++)
{
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
Long=strlen(TamponLecture);
TamponLecture[Long-1]=0;
strcpy(gGrilleH[Num],TamponLecture);
}
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
sscanf(TamponLecture,"%d",&gDNHor);
for (Num=0;Num<gDNHor;Num++)
{
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
sscanf(TamponLecture,"%d,%d,%d",&gDHLig[Num],&gDHCol[Num],&gDHNLet[Num]);
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
Long=strlen(TamponLecture);
TamponLecture[Long-1]=0;
strcpy(gDefH[Num],TamponLecture);
}
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
sscanf(TamponLecture,"%d",&gDNVer);
for (Num=0;Num<gDNVer;Num++)
{
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
sscanf(TamponLecture,"%d,%d,%d",&gDVLig[Num],&gDVCol[Num],&gDVNLet[Num]);
fgets(TamponLecture,TailleMaximaleEnregistrement,FichierEntree);
Long=strlen(TamponLecture);
TamponLecture[Long-1]=0;
strcpy(gDefV[Num],TamponLecture);
}
}
fclose(FichierEntree);
return(ReadOK);
}
Il me reste encore beacoup de chose a faire notamment tout ce qui concerne la partie graphique avec la conception de la grille mais aussi toute la prog permettant a partir du fichier txt de remplir la grille
Merci pour votre aide