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 :

Problème de Calculatrice


Sujet :

C

  1. #1
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut Problème de Calculatrice
    Salut,

    Je suis très débutant et j'essaie de me faire la main avec des petits programmes, là j'essai de faire une calculatrice, la compilation se passe bien mais lors de l'exécution j'ai un pb...

    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
     
    #include <stdio.h>
     
    int main()
    {
        int op ;
        float chifrun, chifrdeux ;
        float res ;
        printf ("Quelle operation souhaitez vous effectuer ? 0.+ 1.- 2.* 3./") ;
        scanf ("%c", &op) ;
        switch (op)
            {
                case 0 : printf ("Saisissez les deux chiffres:") ;
                         scanf ("%f %f", &chifrun, &chifrdeux) ;
                         res = chifrun + chifrdeux ;
                         printf ("%f", res) ;
                case 1 : printf ("Saisissez les deux chiffres:") ;
                         scanf ("%f %f", &chifrun, &chifrdeux) ;
                         res = chifrun - chifrdeux ;
                         printf ("%f", res) ;
                case 2 : printf ("Saisissez les deux chiffres:") ;
                         scanf ("%f %f", &chifrun, &chifrdeux) ;
                         res = chifrun * chifrdeux ;
                         printf ("%f", res) ;
                case 3 : printf ("Saisissez les deux chiffres:") ;
                         scanf ("%f %f", &chifrun, &chifrdeux) ;
                         res = chifrun / chifrdeux ;
                         printf ("%f", res) ;
            }
     
    }
    Lors de l'exécution, j'entre le numéro de l'opération, j'appuie sur Entrée et pouf il me dit "Pour continuer appuiyez sur Entrée" et ça s'arrete... quelqu'un peut m'aider svp ?

    Merci d'avance...

  2. #2
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    1/ La chaîne "Pour continuer appuiyez sur Entrée" n'apparaît pas dans ton programme. C'est mieux de poser des questions sur le programme que tu donnes.

    2/ scanf est piégeux et il vaut mieux l'éviter. Tu es tombé dans un des pièges. Au strict minimum, il faut vérifier que les entrées se passent bien en contrôlant la valeur retournée par scanf. Si tu le fais, tu devrais commencer à te douter de ton problème.

    3/ il manque des breaks dans ton switch.

  3. #3
    Membre émérite Avatar de homeostasie
    Homme Profil pro
    Inscrit en
    Mai 2005
    Messages
    939
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 939
    Par défaut
    j'appuie sur Entrée et pouf il me dit "Pour continuer appuiyez sur Entrée" et ça s'arrete...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    printf ("Quelle operation souhaitez vous effectuer ? 0.+ 1.- 2.* 3./") ;
    scanf ("%c", &op) ;
    Plutot cela:
    De plus, il manque un break à la fin de chaque case, sinon tu passeras au suivant une fois l'un terminé.

    Un autre petit truc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    scanf ("%f %f", &chifrun, &chifrdeux) ;
    Jette vraiment un coup d'oeil à fgets et à strtof au lieu d'utiliser scanf de cette manière car tu cours à des catastrophes...

    Bonne soirée

  4. #4
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Et n'oublie pas les "\n" dans tes printf pour afficher le résultat.

  5. #5
    Membre éclairé Avatar de Jiraiya42
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    671
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 671
    Par défaut
    Merci à tous ça marche

  6. #6
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par homeostasie
    Jette vraiment un coup d'oeil à fgets et à strtof <...>
    strtod()...

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

Discussions similaires

  1. [Problème] Une Calculatrice
    Par Neowillow dans le forum GTK+ avec C & C++
    Réponses: 3
    Dernier message: 06/10/2010, 17h20
  2. Problème calcul calculatrice
    Par absot dans le forum Général Java
    Réponses: 3
    Dernier message: 07/12/2009, 17h18
  3. Problème calculatrice simple
    Par beber54 dans le forum VBA Access
    Réponses: 8
    Dernier message: 23/10/2008, 18h18
  4. Calculatrice : problème de case of
    Par nicolasg8 dans le forum Langage
    Réponses: 2
    Dernier message: 16/10/2008, 19h27
  5. problème pour une calculatrice
    Par Anthobask dans le forum C
    Réponses: 4
    Dernier message: 19/12/2005, 21h11

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