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 :

Petit problème de programmation.


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Petit problème de programmation.
    Bonjour. J'utilise le logiciel DEV C++ et, j'ai esseyé de refaire un logiciel que j'avais fais en cour afin de me remémorer les divers commande. (je n'ais plus les cours).

    J'ai écris ce logiciel (je débutes).

    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
    #include<stdio.h>
    #include<stdlib.h>
     
    float a,b ;
    char op ;
     
     
    main()      
    {
          printf("Ce programme est un calculateur de deux entiers\n");
          printf("Choisissez le premier entier\n");
          scanf("%f",&a);
     
          printf("choissez votre opérateur\n");
          scanf("%c",&op);
          printf("choissiez votre second entier\n");
          scanf("%f",&b);
     
          switch
                 (op='+')
                         printf("le résultat = %f+%f",a,b);
     
     
          getch();
    }
    Bien sur, il n'est pas fini. A la base, je voulais tester si je me rappelais de comment faire un Selon. Et comme j'avais un doute sur ce que j'ai écris, je n'ais mi que l'addition.


    Mon problème n'est pas qu'il me montre une erreur. Mais, que lorsque le programme se lance, ça me fait :

    "choisissez votre premier entier"
    [je choisi]
    "Choisissez l'opérateur"
    "Choisissez votre second entier"


    ça me saute une question ce qui est assez ennuyant Je sais qu'il y a quelque chose à mettre entre le premier scanf et le second printf afin de laisser le temp à l'utilisateur de répondre à la seconde question. Mais, je ne m'en souviens plus.


    Bon, normalement, doué comme vous l'êtes, ça ne doit pas êtres trop dure à me dire. j'ai cherché sur les deux cours de C mais, il ne parle pas de ça (ou alors, j'ai mal lu).


    Heuu sinon, si vous pensez que je me trompe complêtement dans mon programme, dites le moi :p

    Merci d'avance.


  2. #2
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    860
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 860
    Points : 715
    Points
    715
    Par défaut
    Bonjour,
    1) il faut utiliser les balises d'insertion de code afin qu'il soit lisible
    2) il faut INDENTER le code (mettre des espaces aprés l'acollade du main afin d'améliorer la lisibilité)
    3)
    Qu'est ce donc ? Est-ce que cela compile ? J'en doute.


    Merci
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    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
    #include<stdio.h>
    #include<stdlib.h>
     
    float a,b ;
    char op ;
     
     
    main()
          {
          printf("Ce programme est un calculateur de deux entiers\n");
          printf("Choisissez le premier entier\n");
          scanf("%f",&a);
     
          printf("choissez votre opérateur\n");
          scanf("%c",&op);
          printf("choissiez votre second entier\n");
          scanf("%f",&b);
     
          switch
     
                 (op='+')
                         printf("le résultat = %f+%f",a,b);
     
     
          getch();
          }
    A la base, s'est ça.

    je sais pas. Switch n'est pas = au selon ? Enfin, je voulais faire

    Selon opérateur = +

    Alors, le calcul est Var1+Var2 et ça affiche le résultat de ce calcul.


    Ensuite, par la suite, je voulais faire la même chose avec la soustraction, la multiplication et la division.



    Oui, ça compile.

  4. #4
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Points : 5 360
    Points
    5 360
    Par défaut
    Salut, il faut également apprendre à règler ton compilateur en mode paranoia: http://emmanuel-delahaye.developpez....tm#cfg_compilo Cela te permettra de mettre plus facilement ton code au point. La règle? Tu ne dois tolerer aucune erreur ni avertissement signalés par le compilateur.

    Citation Envoyé par willow.A
    Bonjour. J'utilise le logiciel DEV C++ et, j'ai esseyé de refaire un logiciel que j'avais fais en cour afin de me remémorer les divers commande. (je n'ais plus les cours).
    Il n'y a pas de commande en C, mais des instructions, des fonctions, etc.

    Citation Envoyé par willow.A
    J'ai écris ce logiciel (je débutes).

    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
    #include<stdio.h>
    #include<stdlib.h>
     
    /*-TC- Les globales, c'est pas bien du tout. Apprend tout de suite à faire
       sans, ou alors il te faudra justifier leur emploi. */
    float a,b ;
    char op ;
     
    /*-TC- La norme du langage ne permet pas de définir main sous cette forme.
       Il s'agit même d'une compèortement indéfini et c'est une faute grave.
       Les deux formes autorisées sont:
       int main(void)
       ou
       int main(int argc, char *argv[]) */
    main()      
    {
          printf("Ce programme est un calculateur de deux entiers\n");
          printf("Choisissez le premier entier\n");
     
          /* scanf n'est pas une fonction conseillée pour les débutants.
              Regarde la FAQ C si tu veux savoir pourquoi... Utilise plutôt fgets et strtod*/
          scanf("%f",&a);
     
          printf("choissez votre opérateur\n");
          scanf("%c",&op);
          printf("choissiez votre second entier\n");
          scanf("%f",&b);
    La syntaxe que tu utilises pour switch n'est pas valide
    Citation Envoyé par willow.A
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
          switch
                 (op='+')
                         printf("le résultat = %f+%f",a,b);
    Une syntaxe correcte est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    switch (op) {
        case '+':
            /* action à affectuer si op correspond au caractère '+' */
            break;
        case '-':
            /* action à affectuer si op correspond au caractère '-' */
            break;
        default:
            /* action à effectuer dans tous les autres cas */
            break;
    }
    Programmer en C ne s'improvise pas, et la meilleure chose à faire est garder sous cours ou son livre de C sous la main. Lorsqu'on a un doute au sujet de l'interface d'une fonction ou la syntaxe de switch, for, while ou autre structure de code, consulter la documentation adéquate.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

Discussions similaires

  1. Réponses: 11
    Dernier message: 19/09/2010, 14h37
  2. Réponses: 2
    Dernier message: 28/04/2008, 01h11
  3. Réponses: 10
    Dernier message: 02/12/2007, 00h13
  4. Petit problème programme .
    Par guyom62 dans le forum C
    Réponses: 35
    Dernier message: 15/09/2007, 17h49
  5. petit problème de sortie de programme
    Par clampin dans le forum C
    Réponses: 2
    Dernier message: 17/06/2006, 11h51

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