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 :

Choix d'un menu console non pris en compte


Sujet :

C

  1. #1
    Membre habitué
    Inscrit en
    Décembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 9
    Par défaut Choix d'un menu console non pris en compte
    bonjour,j'ai un problème avec le code ci-dessous dévelopé sous dev C++,au niveau de l'exécution si je choisis n'importe quel chiffre,seulement ce message qui s'affiche:Merci de choisir un nombre entre 1 et 5!
    (l'énoncé du problème est en dessous du code)


    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
    134
    135
    136
    137
     
    #include<stdio.h>                                                                                                                   
    #include<stdlib.h>
     
     
    //La fonction CREFILE
    int CREFILE(int*FILE,int*AE,int*AR,int DMAX)
    {
     
    FILE=(int*)calloc(DMAX,sizeof(int));
    *AE=0;
    *AR=0;
    printf("creation reussie\n");
    }
    //Fonction vide
     bool FILEVIDE(int*AE,int*AR)
     {
      bool vide;    
     if(*AR==*AE)
     vide=true;
     else 
     vide=false;
     return(vide);
    }
    //Fonction pleine
     bool FILEPLEINE(int*AE,int*AR)
     {
     bool pleine;
     if(*AE==*AR)
     pleine=true;
     else
     pleine=false;
     return(pleine);
    }
    //Fonction ajouter
    int AJOUTER(int*AR,int*FILE,int DMAX)
    {
        int elem;
        printf("ajouter un element:\n");
        scanf("%d",&elem);
        FILE[*AR]= elem;
        *AR =*AR+1;
        if(*AR==DMAX) *AR=0;
        printf("l'element %d est ajouté\n",elem);
        return 0;
    }
    //Fonction supprimer
    int SUPPRIMER(int*AE,int*FILE,int DMAX)
    {
        int elem;
    FILE[*AE]=elem;
    scanf("%d",&elem);
    printf("l'element %d est supprimé\t\n",elem);
    *AE =*AE+1        ;
    if(*AE== DMAX) *AE=0;
    }
    //Fonction affiche
    void AFFICHE(int*FILE,int DMAX)
    {
         int i;
         for(i=0;i<=DMAX;i++)
         printf("FILE[%d]=%d",i,FILE[i]);
    }
    //Fonction principale
    #define DMAX 8
        int main()
    {
     
     
        int a;
        int AE=0;
        int AR=0;
        int FILE[DMAX];
        bool plein;
        bool vide;
        do
        {
        printf("1.création de la fille\n");
        printf("2.ajouter un élement dans la file\n");
        printf("3.supprimer un élement de la file\n");
        printf("4.afficher les élements de la file\n");
        printf("5.fin du programme\n\n");
        printf("choisir un numero d'une tache\n");
        scanf("%d",&a);
     
        switch(a)
        {
         case'1':
        CREFILE(FILE,&AE,&AR,DMAX);
        break;
        case'2':
        FILEPLEINE(&AE,&AR);
        if(plein==true) 
        {
        printf("la file est pleine\n");
        break;
        }
        else
        {
        AJOUTER(&AR,FILE,DMAX);
        break;
        }
        case'3':
        FILEVIDE(&AE,&AR);
        if(vide==true)
        { 
        printf("la file est vide\n");
        break;
        }
        else
        {
        SUPPRIMER(&AE,FILE,DMAX);
        break;
        }
        case'4':
        FILEVIDE(&AE,&AR);
        if(vide==true)
        { 
        printf("la file est vide\n");
        break;
        }
        else
        {
        AFFICHE(FILE,DMAX);
        break;
        }
        case'5':
        printf("Vous avez choisi de sortir du programme!\n");        
        break;
        default:
        // Si l'utilisateur a saisie un nombre different de {1,2,3,4,5}
        printf("Merci de choisir un nombre entre 1 et 5 !\n");
        break;
        }
        }while(a!='5');
        return 0;
        }
    l'énoncé:
    écrire le programme qui permet la gestion d'une file de valeurs entières et de longeur 8,pour cela on vous demande d'écrire:
    1.la fonction CREFILE qui crée une file vide ds un tableau nommé FILE et de dimension DMAX
    2.la fonction FILEVIDE qui fournit une valeur logique vraie ou fausse selon que la file est vide ou non.
    3.la fonction FILEPLEINE qui fournit une valeur logique vraie ou fausse selon que la file est pleine ou non.
    4.la fonction AJOUTER qui permet d'ajouter une valeur entière dans la file
    5.la fonction SUPPRIMER qui supprime l'élément en tête de la file et fournit sa valeur
    6.la fonction AFFICHE qui permet d'afficher tous les éléments de la file
    7.la fonction principale
    j'éspère corriger mon code bientôt et merci d'avance.

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par défaut
    lorsque tu saisi ton nombre, tu fais :
    donc dans code, il y a un nombre (compris entre 1 et 5 normalement)


    Dans tes test, tu fais
    donc tu testes par rapport à un caractère (compris entre 49 et 54 normalement)

    Tu compares donc des torchons et des serviettes, et c'est pas bon, le résultat est rarement celui attendu. Il faudrait faire un truc genre :
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 480
    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 480
    Par défaut
    a est un int, pas un char.

    « case '1': » vers « case 1: ».

  4. #4
    Membre habitué
    Inscrit en
    Décembre 2008
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 9
    Par défaut besoin d'aide:code source en C
    merci beaucoup pour votre aide,c'est ma 1ère année en informatique donc je suis encore débutante,il faut encore des modifications car le programme ne répond pas encore parfaitement au problème,vous m'avez facilité la tache donc je vais essayer de le corriger et si j'aurai une question je vais vous la poser.

  5. #5
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    Cet énoncé est bizarre, car il va à l'encontre des conventions les plus utilisées de la programmation en C: Notamment, ne pas faire de noms de variables en majuscules, les majuscules étant réservées aux #defines et à certains typedefs (notamment le type standard FILE, défini dans <stdio.h>).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/03/2010, 10h21
  2. [QR 4.05] Propriété imprimante non pris en compte
    Par portu dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 30/09/2008, 14h21
  3. [VB6] choix de l'imprimante non pris en compte
    Par colooo dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 06/07/2006, 11h12
  4. Accents non pris en compte dans les requêtes SELECT
    Par YanK dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/08/2005, 10h57
  5. [event] keyListener non pris en compte
    Par pierre.zelb dans le forum Agents de placement/Fenêtres
    Réponses: 5
    Dernier message: 03/08/2005, 08h35

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