Code donnée par la prof :
#include <stdio.h> #include <stdafx.h> #include <conio.h> #include <string.h> #define maxlog 1000 #define maxuser 50 typedef struct{ char nomUtilisateur[10]; char dateCnx[12]; char heureCnx[10]; char typeCnx; } stConnect; typedef struct{ char nomUtilisateur[10]; int duree; } stDuree; //prototypes bool chargerTabConnect(char [],stConnect [],int*); void initTab(stDuree [],int *) ; int chercher_deconnexion(int,stConnect[],int); int calcul_duree(int,int,stConnect[],int); int prochaine_connexion (int,stConnect[],int); int chercher_utilisateur (int,stConnect[],int,stDuree[],int); stConnect tabConnect[maxlog]; stDuree tabDurees[maxuser]; int nbConnect,nbUser; void main() { char nomFichier[10]; bool erreur; int i; printf ("nom du fichier a lire: "); scanf("%10s", nomFichier); erreur= chargerTabConnect(nomFichier,tabConnect,&nbConnect); if (!erreur) { initTab(tabDurees,&nbUser) ; for (i=0;i<nbUser;i++) printf("%10s %d \n",tabDurees[i].nomUtilisateur,tabDurees[i].duree); } // a completer getch(); } bool chargerTabConnect(char nom[],stConnect tabCnx[],int *pn) { // recuperation des donnees a partir d'un fichier FILE *Fconnect; bool err; stConnect elt; *pn=0; err=false; Fconnect=fopen(nom,"r"); if (Fconnect==NULL) { printf("erreur ouverture\n"); err=true; } else { fread(&elt,sizeof(elt),1,Fconnect); while (!feof(Fconnect)) { *pn=*pn+1; tabCnx[*pn]=elt; fread(&elt,sizeof(elt),1,Fconnect); } } fclose(Fconnect); return err; } void initTab(stDuree tabDurees[],int *pn) { int i, j; char nom[10]; bool trouve; *pn=0; for (i=1;i<=nbConnect;i++) { strcpy(nom,tabConnect[i].nomUtilisateur); j=0; trouve=false; while (j<nbUser && !trouve) { if (strcmp(nom,tabDurees[j].nomUtilisateur)==0) {trouve=true;} j++; } if (!trouve ){ strcpy(tabDurees[nbUser].nomUtilisateur,nom ); tabDurees[nbUser].duree=0; *pn=*pn+1; } } } int chercher_deconnexion(int i,stConnect tabConnect[maxlog] ,int nbConnect) { // a completer } int calcul_duree(int i,int j,stConnect tabConnect[maxlog],int nbConnect) { // a completer } int prochaine_connexion (int i,stConnect tabConnect[maxlog] ,int nbConnect) { // a completer } int chercher_utilisateur (int i,stConnect tabConnect[maxlog] ,int nbConnect, stDuree tabDurees[maxuser],int nbUser) { // a completer }