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
| int rempli_resutat(){
Candidat a;
Bacc b;
Choix c;
//ouverture des fichiers .txt pour le traitement de donnees
FILE *fichier_candidat=fopen("fichier/liste_candidat.txt","r");
FILE *fichier_bacc=fopen("fichier/bacc.txt","r");
FILE *fichier_resultat=fopen("fichier/resultat.txt","w");
if(fichier_candidat == NULL)
printf("Erreur d'overture de fichier candidat");
if(fichier_bacc == NULL)
printf("Erreur d'overture de fichier bacc");
if(fichier_resultat == NULL)
printf("Erreur d'overture de fichier resultat");
char decision_final1[100], ligne1[TAILLE_MAX_LIGNE], ligne2[TAILLE_MAX_LIGNE], ligne3[TAILLE_MAX_LIGNE];
int enclencheur = 0;/*cette variable va nous permettre de parcourir les autres
fichiers txt lorsqu'on recupere une ligne dans liste_candidat.txt*/
//lisons candidat par candidat
printf("\n");
while(fgets(ligne1,TAILLE_MAX_LIGNE,fichier_candidat) != NULL){
enclencheur++;
sscanf(ligne1,"%d;%s;%s;%d\n",&a.NCIN,&a.NOM,&a.PRENOM,&a.AGE);
if (enclencheur != 0){//si vrai,on lira donc egalement le contenu ligne pas ligne des autres fichiers txt
// pour chaque candidat on recupere les donnees relatifs au au baccalaureat
while(fgets(ligne2,TAILLE_MAX_LIGNE,fichier_bacc) != NULL){
sscanf(ligne2,"%d;%f;%s;%f;%f\n",&b.NCIN,&b.MOYENNE,&b.SERIEBACC,&b.NOTEMATH,&b.NOTEPHY);/*lect
d'une ligne de bacc.txt */
if (a.NCIN == b.NCIN){//ici on se focalise a la ligne au Numero de cni correspondant
/* passons maintenant
au calcul qui aboutiront au contenu du nouveau champ DECISION*/
if((b.MOYENNE > 12.00) || ( (10.00 <=b.MOYENNE <= 12.00) && ((b.NOTEMATH > 13.00) && (b.NOTEPHY > 13.00)))){
strcpy(decision_final1,"ADMIS");
}else{
strcpy(decision_final1,"REFUSE");
}
fprintf(fichier_resultat,"%d;%s;%f;%f;%f;%s\n",b.NCIN,a.NOM,b.MOYENNE,b.NOTEMATH,b.NOTEPHY,decision_final1);
}
}//FIN LECTURE LE LIGNE DANS bacc.txt
}//SUCCES DE LECTURE POUR UNE LIGNE liste_candidat.txt
enclencheur = 0;/* on remet la valeur iniatiale de cette variable avant de passer a la ligne suivante
dans le fichier liste_candidat,txt; mais bon ceci n'a pas trop d'importance*/
}//FIN DE LECTURE DE LIGNE DANS liste_candidat.txt
//fermeture des fichiers a la fin du trsitement des donnnees
fclose(fichier_candidat);
fclose(fichier_bacc);
fclose(fichier_resultat);
return 1;
} |
Partager