Bienvenue sur le wiki du site www.K1der.net. Se wiki contiendra les differents projets des differents membres, ainsi que des aides pour l’utilisation du site et des services proposés.
Bonne lecture.
Piste: » tp2
Ceci est une ancienne révision du document! Cliquez sur le titre pour voir la dernière version.
-
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 }