Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problèmes dans le chapitre sur les conditions

Sujet résolu
    18 décembre 2005 à 20:42:10

    Bonsoir tout le monde ! :)
    Après avoir vu que le nouveau Chapitre sur le C++ était sortie , je suis partie voir son contenu . Ce Chapitre était celui des Conditions .
    En lisant , j'essayais de reproduire sans copier / coller ce que notre ami M@theo avait écrit , comme d'habitude . :p

    Lorsque j'ai essayé de reproduire If et Else (je ne sais pas si sa se dit . . . o_O ) sur Dev C++ , sa ne marchait pas ! Là , j'ai étais choqué alors j'ai donc copier et coller ce que notre ami avait écrit mais sa ne marchait pas non plus ! o_O

    Et là , je me posais de nombreuses question du genre "Le génie de l'informatique c'est trompé ou je suis trop débile ?! :o " . Alors j'ai décidé de m'inscrire pour vous signaler ceci . Je ne sais pas si sa a déjà était signalé , si c'et le cas , veuillez m'en excuser . ^^

    En effet sur Dev C++ , il m'est indiqué que cette ligne : "if (age >= 18)" est fausse . Je ne sais pas pourquoi . . . :euh:

    Merci de bien vouloir m'aider , de m'expliquer ou de m'excuser si ce topic à déjà était fait . ;)

    Bye

    FIGTER









    • Partager sur Facebook
    • Partager sur Twitter
      18 décembre 2005 à 20:46:41

      tu as bien déclaré ta variable comme ca par exemple avant?
      int age=13;
      • Partager sur Facebook
      • Partager sur Twitter
        18 décembre 2005 à 20:51:43

        Peut-être que montrer la totalité du code nous aiderait à comprendre.
        • Partager sur Facebook
        • Partager sur Twitter
          18 décembre 2005 à 20:54:56

          Tu as surement oublié un point-virgule sur la ligne d'avant.......ça arrive souvent ...
          • Partager sur Facebook
          • Partager sur Twitter
            18 décembre 2005 à 20:55:26

            Eh mince ! :(

            Tu a sraison , c'était belle et bien ça . . . J'avais oublié de le mettre ! :euh:

            Veuillez m'excuser .

            Pendant que ce topic existe déjà , je peux vous demender une aid epour ma calculatrice ? :D

            A la fin de ce chapitre , M@teo nous demende de crée une calculatrice super qui permettrait de choisire le type d'opération . Eh bien j'ai essayé ! Le seul problème , c'est que Dev m'indique que "long choixopérations, nombre1 = 0, nombre2 = 0, resultat;" est faux ! o_O

            Vous pouvez me dire ce que je dois indiquer à la place ? ^^


            • Partager sur Facebook
            • Partager sur Twitter
              18 décembre 2005 à 20:57:24

              opération... à mon avis tu dois enlever l'accent.
              • Partager sur Facebook
              • Partager sur Twitter
                18 décembre 2005 à 21:09:31

                et je te conseille également de mettre " nom_de_la_variable = 0" à toutes tes variables!
                • Partager sur Facebook
                • Partager sur Twitter
                  18 décembre 2005 à 21:26:19



                  Pour "long choixopérations, nombre1 = 0, nombre2 = 0, resultat;" , c'ets résolus ! :)

                  Maintenant , il me dit que "printf ("%ld * %ld = %ld\n", operations, nombre1, nombre2, resultat);" est faux ! Help please . . . :(

                  • Partager sur Facebook
                  • Partager sur Twitter
                    18 décembre 2005 à 21:29:54

                    dans cette ligne
                    printf ("%ld * %ld = %ld\n", operations, nombre1, nombre2, resultat);
                    n'utilise que trois variables, pas quatre (tu as mis que 3 %ld mais 4 variables dans la suite de la parenthèse) enlève "operations" et ca devrait marcher

                    printf ("%ld * %ld = %ld\n", nombre1, nombre2, resultat);

                    ++
                    • Partager sur Facebook
                    • Partager sur Twitter
                      18 décembre 2005 à 21:31:50

                      Tu as 3 %ld et tu as 4 variables après... ça va pas lol

                      Enlève "operations" qui ici, apparament, ne sert à rien.

                      De plus je te conseillerais de remplacer "long" dans ta déclaration par "double" et de remplacer les "%ld" par des "%lf" afin que l'utilisateur puisse utiliser des nombres décimaux.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        18 décembre 2005 à 21:32:39


                        Non ,c e n'est pas ça car sa indique que la ligne est toujours fausse . Je vous donne le paragraphe pour vous aider :

                        " case 1:
                        printf("Entrez le 1er nombre : ");
                        scanf("%ld", &nombre1);
                        printf("Entrez le 2e nombre : ");
                        scanf("%ld", &nombre2);
                        resultat = nombre1 * nombre2
                        printf ("%ld * %ld = %ld\n", nombre1, nombre2, resultat);
                        break; "

                        • Partager sur Facebook
                        • Partager sur Twitter
                          18 décembre 2005 à 21:33:23

                          T'as oublié le ";" à la fin de l'instruction:
                          resultat = nombre1 * nombre2


                          EDIT: pour donner ton code, utilise la fonction code du zCode plutot que de mettre des guillemets
                          EDIT 2: Je suis sur que certaines erreurs tu aurais pu les retrouver toi même en relisant attentivement ton code, essaye de le faire la prochaine fois :)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            18 décembre 2005 à 21:40:07

                            Après avoir fait ce que Seb me conseille , "switch (choixoperations)" devient faux . :(

                            Désoler si je vous saoul , mais j'ai que 14 ans et je débute . . . :euh:

                            • Partager sur Facebook
                            • Partager sur Twitter
                              18 décembre 2005 à 21:41:56

                              Je pense qu'il serait judicieux que tu postes ton code complet.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                18 décembre 2005 à 21:45:13

                                Okey , si vous voulez . . . ;)

                                #include <stdio.h>
                                #include <stdlib.h>

                                int main(int argc, char *argv[])
                                {
                                  double choixoperations, nombre1 = 0, nombre2 = 0, resultat;
                                 
                                  printf("*** Opérations ***\n\n");
                                  printf("1. Multiplication\n");
                                  printf("2. Addition\n");
                                  printf("3. Soustraction\n");
                                  printf("4. Division\n");
                                  printf("5. Modulo\n");
                                  printf("Que voulez vous faire comme opération ?\n\n");
                                  scanf("%lf", &choixoperations);
                                 
                                  switch (choixoperations)
                                  {
                                  case 1:
                                       printf("Entrez le 1er nombre : ");
                                       scanf("%lf", &nombre1);
                                       printf("Entrez le 2e nombre : ");
                                       scanf("%lf", &nombre2);
                                       resultat = nombre1 * nombre2;
                                       printf ("%lf * %lf = %lf\n", nombre1, nombre2, resultat);
                                       break;
                                  case 2:
                                       printf("Entrez le 1er nombre : ");
                                       scanf("%lf", &nombre1);
                                       printf("Entrez le 2e nombre : ");
                                       scanf("%lf", &nombre2);
                                       resultat = nombre1 +nombre2;
                                       printf("%lf +%lf = %lf\n", nombre1, nombre2, resultat);
                                       break;
                                  case 3:
                                       printf("Entrez le 1er nombre : ");
                                       scanf("%lf", &nombre1);
                                       printf("Entrez le 2e nombre : ");
                                       scanf("%lf", &nombre2);
                                       resultat = nombre1 - nombre2;
                                       printf("%lf - %lf = %lf\n", nombre1, nombre2, resultat);
                                       break;
                                  case 4:
                                       printf("Entrez le 1er nombre : ");
                                       scanf("%lf", &nombre1);
                                       printf("Entrez le 2e nombre : ");
                                       scanf("%lf", &nombre2);
                                       resultat = nombre1 / nombre2;
                                       printf("%lf / %lf = %lf\n", nombre1, nombre2, resultat);
                                       break;
                                  case 5:
                                       printf("Entrez le 1er nombre : ");
                                       scanf("%lf", &nombre1);
                                       printf("Entrez le 2e nombre : ");
                                       scanf("%lf", &nombre2);
                                       resultat = nombre1 % nombre2;
                                       printf("%lf % %lf = %lf\n", nombre1, nombre2, resultat);
                                       break;
                                }
                                       
                                 
                                       
                                             
                                 
                                 
                                 
                                  system("PAUSE");     

                                }
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  18 décembre 2005 à 21:47:49

                                  Ok alors la faute vient de moi.

                                  Pour choixoperations, déclare le en int, pour les autres, laisse en double.

                                  Et fait un scanf avec %ld pour le choixoperation.

                                  double nombre1 = 0, nombre2 = 0, resultat = 0;
                                  int choixoperations = 0;


                                  Et plus loin:
                                  scanf("%ld", &choixoperations);


                                  EDIT: après avoir parcouru ton code, le modulo n'ira pas si tu le fais avec des nombres décimaux.

                                  Je te conseille de déclarer 3 nouvelles variables:
                                  long nombre1Modulo =0, nombre2Modulo = 0, resultatModulo = 0;

                                  et de remplacer celle présente par celle-ci dans ton modulo.

                                  Exemple:
                                  case 5:
                                         printf("Entrez le 1er nombre : ");
                                         scanf("%ld", &nombre1Modulo);
                                         printf("Entrez le 2e nombre : ");
                                         scanf("%ld", &nombre2Modulo);
                                         resultatModulo = nombre1Modulo % nombre2Modulo;
                                         printf("%ld % %ld = %ld\n", nombre1Modulo, nombre2Modulo, resultatModulo);
                                         break;

                                  J'espère que j'ai été clair.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    18 décembre 2005 à 21:52:35

                                    Okey thanx . . .

                                    Mais il y a maintenant un problème dans "case 1:" ! C'est abuzé il n'y a rien dans cette ligne , enfin presque . :o
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      18 décembre 2005 à 21:55:59

                                      Tu as du oublier de changer le %lf en %ld juste avant ton switch.

                                      Edit: voila j'ai reparcouru ton code et compilé, ca à l'air de maché comme ça:

                                      #include <stdio.h>
                                      #include <stdlib.h>

                                      int main(int argc, char *argv[])
                                      {
                                        double nombre1 = 0, nombre2 = 0, resultat = 0;
                                        long nombre1Modulo =0, nombre2Modulo = 0, resultatModulo = 0;
                                        int choixoperations = 0;

                                        printf("*** Operations ***\n\n");
                                        printf("1. Multiplication\n");
                                        printf("2. Addition\n");
                                        printf("3. Soustraction\n");
                                        printf("4. Division\n");
                                        printf("5. Modulo\n");
                                        printf("Que voulez vous faire comme operation ?\n\n");
                                        scanf("%ld", &choixoperations);
                                       
                                        switch (choixoperations)
                                        {
                                        case 1:
                                             printf("Entrez le 1er nombre : ");
                                             scanf("%lf", &nombre1);
                                             printf("Entrez le 2e nombre : ");
                                             scanf("%lf", &nombre2);
                                             resultat = nombre1 * nombre2;
                                             printf ("%lf * %lf = %lf\n", nombre1, nombre2, resultat);
                                             break;
                                        case 2:
                                             printf("Entrez le 1er nombre : ");
                                             scanf("%lf", &nombre1);
                                             printf("Entrez le 2e nombre : ");
                                             scanf("%lf", &nombre2);
                                             resultat = nombre1 +nombre2;
                                             printf("%lf +%lf = %lf\n", nombre1, nombre2, resultat);
                                             break;
                                        case 3:
                                             printf("Entrez le 1er nombre : ");
                                             scanf("%lf", &nombre1);
                                             printf("Entrez le 2e nombre : ");
                                             scanf("%lf", &nombre2);
                                             resultat = nombre1 - nombre2;
                                             printf("%lf - %lf = %lf\n", nombre1, nombre2, resultat);
                                             break;
                                        case 4:
                                             printf("Entrez le 1er nombre : ");
                                             scanf("%lf", &nombre1);
                                             printf("Entrez le 2e nombre : ");
                                             scanf("%lf", &nombre2);
                                             resultat = nombre1 / nombre2;
                                             printf("%lf / %lf = %lf\n", nombre1, nombre2, resultat);
                                             break;
                                        case 5:
                                             printf("Entrez le 1er nombre : ");
                                             scanf("%ld", &nombre1Modulo);
                                             printf("Entrez le 2e nombre : ");
                                             scanf("%ld", &nombre2Modulo);
                                             resultatModulo = nombre1Modulo % nombre2Modulo;
                                             printf("%ld modulo %ld = %ld\n", nombre1Modulo, nombre2Modulo, resultatModulo);
                                             break;
                                      }
                                           
                                        system("PAUSE");   
                                        return(0)

                                      }


                                      J'ai changé la ligne
                                      scanf("%lf", &choixoperations);
                                      par
                                      scanf("%ld", &choixoperations);

                                      J'ai modifié tous tes "opérations" en "operations" vu que la console n'affiche pas d'accent.

                                      Et j'ai modifié la ligne du printf du résultat du modulo, en fait il y avait encore un soucis si on mettait %ld % %ld il pensait qu'on parlait de 3 variables alors qu'il ne sagissait que de deux.

                                      Et enfin j'ai ajouté le return(0); à la fin du code...
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        18 décembre 2005 à 21:59:34

                                        J'ai copié ton code , et apparement il marche aussi alors que je ne vois absolument pas ce que ta changé ! :-°

                                        Bon ba , merci énormément ! :)
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          18 décembre 2005 à 22:02:10

                                          Non, je ne te l'ai pas fait pour que ça marche, je l'ai fait pour que tu comprennes.

                                          N'hésite pas à me préciser où tu n'as pas suivi.

                                          PS: j'ai rééditer une fois le code que j'ai posté, vérifie que tu as pris le dernier.
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            18 décembre 2005 à 22:03:50

                                            J'ai très bien compris pourquoi tu l'as fais . :D

                                            D'ailleur , comme je l'ai dis , je ne vois vraiment pas ce que ta modfié . . . Mon code était exactement pareil .
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              18 décembre 2005 à 22:06:36

                                              Ben justement, regarde ce que j'ai posté en dessou du code et essaye de comparer, car j'ai bien modifié des trucs.

                                              Edit: pense à ordonner tes opérations, ça fait bizarre de mettre la multiplication avant l'addition et la soustraction :lol:
                                              Enfin c'est pas obligatoire ça :p
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                18 décembre 2005 à 22:27:44

                                                Tu as rajouté return :o , sinon je vois pas . . .

                                                A partie de case 5 , je l'avais déjà modifié quand tu me l'avais dis donc je vois vraiment pas . :)

                                                Merci , t'es vraiment sympa ! ;)
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  18 décembre 2005 à 22:29:51

                                                  Citation : Seb087

                                                  J'ai changé la ligne Code : C
                                                  scanf("%lf", &choixoperations);
                                                  par Code : C
                                                  scanf("%ld", &choixoperations);



                                                  En fait, peut être que tu avais déjà modifié tout ce que j'ai modifié... enfin soit, si tu as tout compris et que le programme marche, n'en parlons plus ;)

                                                  Enchanté de t'avoir rendu service.
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Problèmes dans le chapitre sur les conditions

                                                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                  • Editeur
                                                  • Markdown