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.

Ceci est une ancienne révision du document! Cliquez sur le titre pour voir la dernière version.


-

Code donnée par la prof : <code c> #include <stdio.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; 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

}

</code c>


Outils personnels