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 :

Les files d'attentes


Sujet :

C

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut Les files d'attentes
    bonsoir,
    merci de m'aider sur la logique de cet exercices.
    merci beaucoup:
    je suis débutant en C, peu etre bien que j'ai mal fait mon programme mais ce que j'ai compris de ce Td c'est de créer un fichier , déterminer sa taille rajouter un nouveau objet ou un champs, afficher le contenu, vider le fichier et comparer mes deux fichier.

    si dessous le travail demander.

    d'avance merci .


    ********
    Implémenter les primitives suivantes pour les files (FILEPRIM.h) d’une manière
    simplement chainée (vous pouvez profiter de l’implémentation simplement chainée des listes)
    *********
    File fileCreer(void);
    void fileDetruire (File);
    int estVide(File);
    int estSaturee(File);
    int fileTaille(File);
    ELEMENT Sommet(File);
    int Enfiler(File, ELEMENT);
    ELEMENT Defiler(File);
    void fileAfficher(File);
    File fileCopier(File);
    int fileComparer(File, File);

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 476
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 476
    Par défaut
    Bonjour,

    Citation Envoyé par sokrat01 Voir le message
    je suis débutant en C, peu etre bien que j'ai mal fait mon programme mais ce que j'ai compris de ce Td c'est de créer un fichier , déterminer sa taille rajouter un nouveau objet ou un champs, afficher le contenu, vider le fichier et comparer mes deux fichier.
    Montre-nous d'abord ce que tu as réalisé jusqu'ici et on tâchera de t'aider.

  3. #3
    Expert confirmé
    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
    Par défaut
    Je crois que tu n'as pas compris la question posée. Il ne s'agit pas de fichiers, mais de file (à ne pas confondre avec file , fichier mais en anglais).

    Une file est une structure de données où sont stockées des valeurs. Lorsqu'on en extrait une donnée (defiler()) , il s'agit de la valeur la plus anciennement stockée (par enfiler()) dans la structure.
    On appelle parfois ce genre de choses des FIFO (First In, First Out)

    L'énoncé te suggère d'utiliser une liste simplement chainée pour réaliser cette structure de données.
    En pratique, cela signifie que tu enfiles les données à un bout de la liste chainée et que tu les défiles par l'autre bout.

    A toi de jouer !

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    bonjour et merci beaucoup pour vos réponses significatif pour moi.
    suite a votre définition voici ma logique a vous de me donner plus d’ample.
    ***********
    FileCreer(void);
    void FileDetruire(File);
    Element Defiler(file);
    void FileAffichage(File);
    int FileTaille(File);
    int estVide(Fille);
    int estSaturee(File);
    ELEMENT Sommet(Fille);
    File fileCopier(File);
    int Enfiler(File,ELEMENT);
    int fileComparer(File,File);
    ***********

  5. #5
    Expert confirmé
    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
    Par défaut
    a vous de me donner plus d’ample.
    Ben non. La balle est dans ton camp!
    C'est à toi d'essayer de résoudre ton problème et de poser éventuellement des questions sur des points précis. Mais on ne fera pas l'exercice à ta place.

    La première chose à faire est de définir une structure de données pour représenter ta file compte tenu des fonctionnalités demandées.
    Ensuite, tu pourras commencer à écrire les fonctions demandées. Je te suggère de le faire dans cet ordre:

    1- FileCreer(void); création de la structure de données représentant la file vide
    2- FileDetruire(File); qui va avec la précédente. Destruction de la structure de données représentant la file. Attention, il faut que cette fonction puisse travailler correctement sur une file vide ou contenant des valeurs.
    3- Enfiler(File,ELEMENT); pour mettre une donnée dans la file
    4- FileAffichage(File); Affichage du contenu de la file (qui peut être vide ou non). Permettra de vérifier si les différentes fonctions semblent être correctes
    5- Defiler(file); pour extraire et récupérer une valeur de la file
    6- Sommet(File); pour récupérer une valeur de la file sans en l'extraire
    7- estVide(File); pour savoir si la file contient au moins une valeur
    8- FileTaille(File); pour savoir le nombre de valeurs contenues dans la file (je suppose)
    9- estSaturee(File); pour savoir si la file est pleine (je suppose). Ceci suppose que le nombre d'éléments dans la file est limité.
    10- fileComparer(File,File); pour savoir si deux files contiennent les mêmes éléments dans le même ordre
    11- fileCopier(File); pour créer une autre file identique à une file donnée

    Les prototypes donnés pour certaines fonctions sont très discutables et devront être modifiés pour avoir un code correct.

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    bonjour,
    Grand merci:
    voila mon travail.
    ********************************
    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
     
    #include <stdlib.h>
    #include <stdio.h>
    #include "FILEPRIM.H"
     
    File fileCreer(void)  {
    File f;
    f = (FILE) malloc(sizeof(laStruct));
    if(!f) {
    printf(" \nProblème de mémoire") ;
    exit(0) ;
    }
    f->lg = 0;
    return(f);
    }
    void fileDetruire(File f){
    int i; 
    for(i = 1;i <= f->lg; i++) 
    elementDetruire(f->elements[i]);
    free(elt);
    }
     
    int Enfiler(File, ELEMENT,int);
    void fileAfficher(File f) {
    int i;
    for(i = 1; i <= f->lg; i++) 
    elementAfficher(f->elements[i]);
    }
    ELEMENT Defiler(File) ;
    ELEMENT Sommet(File);
    int estVide(File f) {
    return (f->lg == 0);
    }
    int fileTaille(File f) {
    return (f->lg);
    }
    int fileComparer(File f1, File f2)
    {
    return (f1-f2);   
    }
     
    void fileCopier(File * f1, File f2) {
    *f1 = f2  ;}
     
    #endif

  7. #7
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Bonjour,

    as-tu essayé de compiler ce code ? Parce que ça me semble pas gagné que le compilateur l'accepte.
    Où est la définition de File ?
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  8. #8
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    bonjour,
    merci pour votre réponse,
    je n'ai pas encore compiler mais peu tu me dire comment déclarer la File?svp

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    bonjour mes chef,
    ci dessous le top que je peux faire!.
    merci de me dire si c'est correcte et merci également pour le temps que vous m'avez consacré.
    *****************

    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
    #include <stdlib.h>
    #include <stdio.h>
    #include "FILEPRIM.H"
     
    typedef struct
     
    int main (void)
    { 
    File *f;
    Int i ;
    Int taille ;
    Element *element ;
     
    File fileCreer(void)  {
    File f;
    f = (File) malloc(sizeof(laStruct));
    if(!f) {
    printf(" \nProblème de mémoire") ;
    exit(0) ;
    }
    f->lg = 0;
    return(f);
    }
    void fileDetruire(File f){
    int i; 
    for(i = 1;i <= f->lg; i++) 
    elementDetruire(f->elements[i]);
    free(elt);
    }
     
    int Enfiler(File, ELEMENT,int);
    void fileAfficher(File f) {
    int i;
    for(i = 1; i <= f->lg; i++) 
    elementAfficher(f->elements[i]);
    }
    ELEMENT Defiler(File) ;
    ELEMENT Sommet(File);
    int estVide(File f) {
    return (f->lg == 0);
    }
    int fileTaille(File f) {
    return (f->lg);
    }
    int fileComparer(File f1, File f2)
    {
    return (f1-f2);   
    }
     
    void fileCopier(File * f1, File f2) {
    *f1 = f2  ;}
     
    }
     
    #endif

  10. #10
    Membre Expert
    Profil pro
    Développeur en systèmes embarqués retraité
    Inscrit en
    Mars 2006
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2006
    Messages : 952
    Par défaut
    Salut,

    A moins que tu n'aies redéfini quelques types dans ton FILEPRIM.H, File s'écrit FILE et Int s'écrit int. Ce n'est pas possible que ce code compile tel quel. Ci dessous ce que donne ton code formaté. Quelques pistes: A quoi sert la ligne 5? Pourquoi les fonctions sont à l'intérieur du main? Pourquoi le main ne retourne rien alors que tu as écrit "int main"?

    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
    #include <stdlib.h>
    #include <stdio.h>
    #include "FILEPRIM.H"
     
    typedef struct
     
    int main (void)
    {
        File *f;
        Int i ;
        Int taille ;
        Element *element ;
     
        File fileCreer(void)
        {
            File f;
            f = (File) malloc(sizeof(laStruct));
            if(!f)
            {
                printf(" \nProblème de mémoire") ;
                exit(0) ;
            }
            f->lg = 0;
            return(f);
        }
        void fileDetruire(File f)
        {
            int i;
            for(i = 1; i <= f->lg; i++)
                elementDetruire(f->elements[i]);
            free(elt);
        }
     
        int Enfiler(File, ELEMENT,int);
        void fileAfficher(File f)
        {
            int i;
            for(i = 1; i <= f->lg; i++)
                elementAfficher(f->elements[i]);
        }
        ELEMENT Defiler(File) ;
        ELEMENT Sommet(File);
        int estVide(File f)
        {
            return (f->lg == 0);
        }
        int fileTaille(File f)
        {
            return (f->lg);
        }
        int fileComparer(File f1, File f2)
        {
            return (f1-f2);
        }
     
        void fileCopier(File * f1, File f2)
        {
            *f1 = f2  ;
        }
     
    }
     
    #endif


    A+,

    Pfeuh

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2011
    Messages : 6
    Par défaut
    bonjour,
    j'ai apporté des modifications sur mon programme mais j'ai beaucoup de message d’erreur.
    1- "FILEPRIM.H" ==> n’excise pas!! et d'autre message

    merci pour votre aide.
    ***********************



    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
    #include <stdlib.h>
    #include <stdio.h>
    #include "FILEPRIM.H"
     
    main (void)
    { 
    FILE *f1,*f2,*f;
    int i ;
    int taille ;
    Element *element;
    } 
    FILE fileCreer(void)  {
    FILE f;
    f = (FILE) malloc(sizeof(FILE));
    if(!f) {
    printf(" \nProblème de mémoire") ;
    exit(0) ;
    }
    f->lg = 0;
    return(f);
    }
    void fileDetruire(FILE f){
    int i; 
    for(i = 1;i <= f->lg; i++) 
    elementDetruire(f->elements[i]);
    free(elt);
    }
     
    int Enfiler(FILE, ELEMENT,int);
    void fileAfficher(FILE f) {
    int i;
    for(i = 1; i <= f->lg; i++) 
    elementAfficher(f->elements[i]);
    }
    ELEMENT Defiler(FILE) ;
    ELEMENT Sommet(FILE);
    int estVide(FILE f) {
    return (f->lg == 0);
    }
    int fileTaille(FILE f) {
    return (f->lg);
    }
    int fileComparer(FILE f1, FILE f2)
    {
    return (f1-f2);   
    }
     
    void fileCopier(FILE * f1, FILE f2) {
    *f1 = f2  ;}
     
     
    #endif

  12. #12
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    Citation Envoyé par sokrat01 Voir le message
    j'ai apporté des modifications sur mon programme mais j'ai beaucoup de message d’erreur.
    1- "FILEPRIM.H" ==> n’excise pas!! et d'autre message
    Ok, mais bon, m'enfin...
    Et alors ?

    Si ton fichier n'existe pas, on y peut quoi ?
    Pourquoi vouloir l'inclure s'il n'existe pas ?
    On parle toujours de file ou de fichier ? La seconde réponse semble toujours aussi fausse depuis le 2° message..
    Tu crées tes fonctions dans le main ?
    File c'est quoi ? une structure ? un typedef de pointeur ?

    Bref, y'a rien de clair, et la boule de cristal n'a pas encore été inventée.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  13. #13
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2009
    Messages
    4 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2009
    Messages : 4 493
    Billets dans le blog
    1
    Par défaut
    File s'écrit FILE
    Si j'ai tout compris, dans cette discussion, "File" veut dire "Queue" et non "Fichier" ^^


    M'enfin.... Le sujet est ^^

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [AC-2013] Nommer les états dans la file d'attente de l'imprimante
    Par freddyev dans le forum Access
    Réponses: 2
    Dernier message: 21/03/2015, 13h29
  2. Arrêter toutes les files d'attentes
    Par SINASOFT dans le forum AIX
    Réponses: 3
    Dernier message: 01/09/2008, 15h15
  3. [LabView 8.5][Débutant] Info sur les files d'attentes
    Par yoann23 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 18/03/2008, 14h49
  4. [MQ] Lister les file d'attentes
    Par TslH0 dans le forum Websphere
    Réponses: 1
    Dernier message: 28/12/2006, 10h46
  5. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12

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