1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
|
/*****************************************************************************************************
Chargements des matières dans une structure matière qui contient le nombre de quiz par matière
et le nom des matières, à partir d'un fichier texte
Cette fonction qui contient :
- tableau de structure matière
_ retourne en valeur dfe sortie le nombre de matières disponibles actullement
***************************************************************************************/
void chargement_matiere(struct matiere tabMat[], int *cptMatieres)
{
FILE* fchMatiere;
char chaine[30];
int cptMat = 0;
int i;
fchMatiere = ouvertureFichier(FICH_TEXT_MATIERE,"rt"); // la dernière d'ouverture de fichier
while (!feof(fchMatiere))
{
fgets(chaine,20,fchMatiere);
sscanf(chaine,"%d %s",&tabMat[cptMat]._nbMatQuiz, tabMat[cptMat]._nomMatiere);
cptMat++;
}
fclose(fchMatiere);
cptMat--;
*cptMatieres = cptMat ;
}
/***************************************************************************************
Parcours et affichage de la structure matiere :
Cette fonction à trois paramètres :
- le tableau de structure matière
- le nombre de matière actuellement enregistré dans le fichier binaire
- une chaîne de caractére c'est une constante de châine sans importance
******************************************************************************************/
void affichMenuQuizMat(struct quizMatiere tab[], int nbLign, char* message)
{
int i;
system("cls");
puts(message);
for (i = 0; i<= nbLign ;i++)
{
printf("%d : %s",i+1,tab[i]._nomQuiz);
}
puts(" ");
}
/*********************************************************************************************************
Fonction d'enregistrement de la structure matiere qui contient le nombre de quiz par matiere
et le nom de la matière
Fonction contenant :
- le tableau de structure matière
- le numéro de matière sélectonné par l'utilisateur
- le nombre de matière disponibles actuellement dans l'applicatoin
**********************************************************************************************/
void enregitreNbMatQuiz(struct matiere x_tabMat[], int x_numMat, int x_nbMat)
{
FILE* fchMatiere;
int i ;
fchMatiere = ouvertureFichier(FICH_TEXT_MATIERE,"wt");
for (i=0;i<= x_nbMat;i++)
{
fprintf(fchMatiere,"%d\ \t %s\n",x_tabMat[i]._nbMatQuiz, x_tabMat[i]._nomMatiere);
}
}
/*********************************************************************************************************
Fonction ouverture fichier qui contient le nom du fichier à ouvrir avec le type de'ouverture
**************************************************************************************************************/
FILE* ouvertureFichier(char * nomFichier, char * typeOuverture)
{
FILE* fichier;
fichier = fopen(nomFichier,typeOuverture);
if ( fichier == NULL)
{
system("cls");
printf("Erreur à l'ouverture du fichier");
getch();
exit(-1);
}
else
{
return fichier;
}
} |
Partager