IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

File statique des étudiants en C


Sujet :

C

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut File statique des étudiants en C
    Bonjour à tous je suis une debutante en language C ,je veux faire une petite application en C pour la gestion des etudiants en utilisant les file statique ,j'ai essayé mais ça ne marche pas pour moi...est ce que quelqu'un a une idée.
    voici ci joint mon essai et merci à tous ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    #include<string.h>
    typedef enum {FAUX,VRAI} Boolean;
    #define nb_max_elements 10
     
    //Création d'une structure fiche d'etudiant
     
    typedef struct
    {       
     
            char nom[10];
            char prenom[10];
            int CNE[10];
    }
            fiche;
     
     
     
    typedef struct
    {
            fiche element[nb_max_elements];
            int tete;
            int queue;
            int nbElement;
            }FileCirculaire;
     
            /* initialiser la file */ 
     
            FileCirculaire initialiser()
            {
                           FileCirculaire file;
                           file.tete=0;
                           file.queue= nb_max_elements -1;
                           file.nbElement=0;
                           return file;
                           }
            /* test de la file vide */
     
            Boolean fileVide(FileCirculaire *file)
            {
                           if (file->nbElement == 0)       
                           return VRAI;
                           else
                           return FAUX;
                           }
     
           /* test de la file pleine */   
     
            Boolean filePleine(FileCirculaire *file)
            {
                           if (file->nbElement==nb_max_elements -1)
                           return VRAI;
                           else
                           return FAUX;
                           }
     
            /* enfiler (ajouter) un élément à la queue de la file */      
     
            FileCirculaire enfiler( FileCirculaire *file,fiche val)
            {
                           if   (filePleine(file))  
                           printf("Impossible d'enfiler, la file est pleine");
                           else
                           {
                               file->queue = (file->queue+1) % nb_max_elements;
                               file->nbElement = file->nbElement+1;
                               file->element[file->queue] = val;
                               }
                               return *file;
                               }
     
              /* défiler (suprimmer) un élément de la tete de la file */  
     
              fiche defiler ( FileCirculaire *file)
              {
                  fiche val;
                  if (fileVide(file))
                  printf("Impossible de defiler, la file est vide");
                  else
                  {
                      file->tete = (file->tete+1) % nb_max_elements;
                      file->nbElement = file->nbElement-1;
                      val = file->element[file->tete];
                      }
                      return val;
                      }
     
     
                      /* afficher la file */
     
                      void afficher( FileCirculaire file)
                      {    
                                 int i;
     
                            for(i=file.tete;i<=file.queue;i++)
                                  {
                               printf("|%s|\n",file.element[i]);
                                   }     
                      }
     
         int main()
      {
                fiche f[2]; 
                int i;
                FileCirculaire fi = initialiser();
     
     
                printf("saisi d'une fiche\n");
                for(i=1;i<=2;i++) 
                {
                   printf("\nEtudient numero :%d\n",i);
                   printf("nom:");scanf("%s",&f[i].nom); 
                   printf("prenom:");scanf("%s",&f[i].prenom); 
                   printf("cne:");scanf("%d",&f[i].CNE);
     
                }
     
                for(i=1;i<=2;i++)
                {
                   printf("\nEtudient numero :%d\n",i);
                   printf("nom:%s\t",f[i].nom);
                   printf("prenom:%s\t",f[i].prenom); 
                   printf("cne:%d\t",f[i].CNE);
                }
     
                 for(i=1;i<=2;i++)
                 { enfiler(fi,f[i].nom );}
                 afficher(fi);
        getch();
     
    }

  2. #2
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    Bonjour et bienvenue sur le forum.

    Ton code est faux et ceci aurait dû être signalé par le compilateur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    FileCirculaire enfiler( FileCirculaire *file,fiche val)
    ....
    fiche f[2]; 
    ....
    FileCirculaire fi = initialiser(); 
    ....
       { enfiler(fi,f[i].nom );}
    1- fi n'est pas un FileCirculaire * mais un FileCirculaire (probablement, l'argument devrait être &FileCirculaire ).
    2- f[i].nom n'est pas une fiche mais un char * (probablement, l'argument devrait être f[i] ).
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  3. #3
    Candidat au Club
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Points : 3
    Points
    3
    Par défaut wé tt à fait mais jé tjrs le problème
    Vs avez tout à fait raison merci ,mais là le problème c'est :est que le complitateur va empiler toute la fiche de l'etudiant lorsqu'on met
    empiler(&fi,f[i]) meme chose pour l'affichage,merci encore une fois et bonne soirée...

Discussions similaires

  1. [MySQL] Insérer des éléments de type FILE dans des sessions pour un panier
    Par akrogames dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 21/01/2009, 11h30
  2. Comment noter des étudiants ?
    Par Djobird dans le forum Etudes
    Réponses: 12
    Dernier message: 24/06/2008, 14h52
  3. [batch file] detruire des fichiers dans une arborescence
    Par Biosox dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 03/06/2008, 10h10
  4. [File] enregistrer des données dans un fichier
    Par jontleman dans le forum Windows Forms
    Réponses: 8
    Dernier message: 23/08/2007, 13h08
  5. [MCD] Conception d'un MCD pour des étudiants d'une fac
    Par beegees dans le forum Schéma
    Réponses: 7
    Dernier message: 16/10/2006, 02h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo