Partage
  • Partager sur Facebook
  • Partager sur Twitter

refus du nombre 2

comprend pas ???

Sujet résolu
    15 avril 2006 à 12:46:13

    bon j'ai des petit probleme car a chaque fois que je fait un codage ( ex : calculatrice de base ) j'ai un probleme deja d'une dès que je suis en console j'ai programmé pour que l'on me dise :

    Citation : console :

    Entrer le nombre 1:



    je marque le nombre 1 et donc il me le marque a coté des deux point mais il le passe sur une deuxieme ligne là je suis obligé de remettre le deuxieme nombre pour qu'il me passe la suite du codage ...

    c'est assez bizarre o_O
    mais c'est pa tout donc après que j'ai répété deux fois le meme nom ( ce qu'il n'est pa trop élégant je trouve )
    je veut marquer le deuxieme nombre et là PAF !! message d'erreur qui me ferme ma console :euh:
    je suis completement depassé ... cela m'arrive souvent dans les console ou je doit marquer un chiffre ( je parle de mon premier probleme ) mais dès que je fait un copier coller du code C des cour là j'ai pa de probleme :(

    donc je suppose que je doit oublier un petit truc ou des chose comme ça mais j'ai beau véricfier je trouve rien peut etre que vous aurez de meilleur yeux que moi :D

    voici le code de ma calculatrice maudite :lol:

    Citation : code C


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

    int main(int argc, char *argv[])
    {
    long choixOperation;

    printf(" Choisissez l'operation a effectuer \n\n");
    printf("1. + \n");
    printf("2. - \n");
    printf("3. * \n");
    printf("4. / \n\n");
    printf("Votre choix ??");
    scanf("%ld", &choixOperation);

    printf("\n");

    switch (choixOperation)
    {
    long resultat = 0,nombre1 = 0, nombre2 = 0;


    case 1:


    printf("Vous avez choisi l'addition\n\n");
    printf("Entrer le nombre 1: ");
    scanf("%ld\n", nombre1);
    printf("Entrer le nombre 2: ");
    scanf("%ld\n\n", nombre2);

    resultat = nombre1 + nombre2;

    printf("%ld + %ld = %ld\n\n", nombre1, nombre2, resultat);
    break;
    case 2:


    printf("Vous avez choisi la soustraction\n\n");
    printf("Entrer le nombre 1: ");
    scanf("%ld\n", nombre1);
    printf("Entrer le nombre 2: ");
    scanf("%ld\n", nombre2);

    resultat = nombre1 - nombre2;

    printf("%ld - %ld = %ld\n\n", nombre1, nombre2, resultat);
    break;
    case 3:


    printf("Vous avez choisi la multiplication\n\n");
    printf("Entrer le nombre 1: ");
    scanf("%ld\n", nombre1);
    printf("Entrer le nombre 2: ");
    scanf("%ld\n", nombre2);

    resultat = nombre1 * nombre2;

    printf("%ld * %ld = %ld\n\n", nombre1, nombre2, resultat);
    break;
    case 4:


    printf("Vous avez choisi la division\n\n");
    printf("Entrer le nombre 1: ");
    scanf("%ld\n", nombre1);
    printf("Entrer le nombre 2: ");
    scanf("%ld\n", nombre2);

    resultat = nombre1 / nombre2;

    printf("%ld / %ld = %ld\n\n", nombre1, nombre2, resultat);
    break;
    default:
    printf("Vous n'avez pa choisi une operation disponible dans la version de \ncette calculatrice\n\n");
    break;
    }

    printf("cette calculatrice a ete elabore par Cobaye :D ");

    printf("\n\n\n\n");


    system("PAUSE");
    return 0;
    }




    bon ba merci d'avance
    j'espère que vous trouverez le probleme car j'ai passé un peu de temp sur ça et ce n'est pa pour qu'elle ne fonctionne meme pas :colere:

    Cobaye
    • Partager sur Facebook
    • Partager sur Twitter
      15 avril 2006 à 12:50:42

      Il manque les & à chaque scanf devant les variables...
      • Partager sur Facebook
      • Partager sur Twitter
        15 avril 2006 à 12:50:48

        tu oublies les '&' dans tes scanf.

        edit : grilled :p
        • Partager sur Facebook
        • Partager sur Twitter
          15 avril 2006 à 12:53:18

          mince c'est vrai
          merci beaucoup

          et si je met le & ça me mettra tout de suite la suite du codage ??


          EDIT: je vien d'essayer et ça veut bien me mettre le deuxieme nombre mais le calcul est faux et il faut toujour que je mette deux fois le premier nombre ... comprend vraiment pas o_O
          • Partager sur Facebook
          • Partager sur Twitter
            15 avril 2006 à 13:08:16

            enlève le \n c'est inutile dans un scanf ajoute le \n dans le printf("") suivant.Juste une petite remarque déclare toute tes variable en haut de la fonction juste après le { pas dans le switch

            • Partager sur Facebook
            • Partager sur Twitter
              15 avril 2006 à 13:12:28

              Citation : cobaye

              bon j'ai des petit probleme car a chaque fois que je fait un codage ( ex : calculatrice de base ) j'ai un probleme deja d'une dès que je suis en console j'ai programmé pour que l'on me dise :

              Citation : console :

              Entrer le nombre 1:



              je marque le nombre 1 et donc il me le marque a coté des deux point mais il le passe sur une deuxieme ligne là je suis obligé de remettre le deuxieme nombre pour qu'il me passe la suite du codage ...

              c'est assez bizarre o_O


              Le problème est là (entre autres).
                    scanf("%ld\n", nombre1);

              scanf() est mal utilisé (manque un '&', le '\n' ne fait pas ce que tu crois, pas de test du code retour, pas de purge en cas d'erreur...).

              Je conseille une saisie basée sur fgets() et la fonction de conversion qui va bien.

              http://mapage.noos.fr/emdel/notes.htm#saisie
              http://mapage.noos.fr/emdel/notes.htm#fichiers
              • Partager sur Facebook
              • Partager sur Twitter
              Music only !
                15 avril 2006 à 13:20:01

                Merci d'utiliser la balise "code" pour mettre en forme les codes, comme expliqué dans ce post-it :
                http://www.siteduzero.com/forum-83-6661-regles-de-ce-forum.html

                Cela aura pour effet de colorer votre code et donc d'en faciliter grandement la lecture. Vous aurez ainsi beaucoup plus de chances d'avoir des réponses.

                Voici un exemple de code non coloré avec la balise "citation" (mauvais exemple) :

                Citation : Pas de titre

                int main(int argc, char *argv[])
                {
                long choixOperation;

                printf("Choisissez l'operation a effectuer \n\n");
                /* etc. */
                }



                Voici maintenant le même code coloré, si vous aviez utilisé la balise "code" (bon exemple) :

                int main(int argc, char *argv[])
                {
                    long choixOperation;

                    printf("Choisissez l'operation a effectuer \n\n");
                    /* etc. */
                }


                C'est plus clair n'est-ce pas ? :)
                N'hésitez pas à éditer votre message pour changer la balise afin de colorer votre code.


                [Ceci est une réponse semi-automatique]
                • Partager sur Facebook
                • Partager sur Twitter

                If you'd like to join us, read "How do we work at OpenClassrooms"! :)

                  15 avril 2006 à 13:20:27

                  merci ça fonctionne :D

                  et autrement comment fait t on pour cacher un nombre ??
                  je veut dire que dans ma calculatrice quand on choisi l'opération on tape un chiffre mais il reste là et j'aimerait que n'ont le voit pu ...

                  j'aimerait aussi cacher un nombre dnas le jeu plus ou moins dans le mode deux joueur ( autrement c'est facile de gagner juste a regarder un coup d'oeil en haut de la console ;) )

                  si vous ne savez pa c'est pa grave mais j'aimerait faire ça :) ça serait pas mal
                  bon ba merci encore une fois
                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 avril 2006 à 13:22:27

                    Tu rajoute
                    system("CLS");

                    Ca efface la console mais ce n'est pas portable (Windows only)
                    • Partager sur Facebook
                    • Partager sur Twitter
                      15 avril 2006 à 13:28:39

                      merci beaucoup

                      c'est parfait maintenant :D
                      • Partager sur Facebook
                      • Partager sur Twitter

                      refus du nombre 2

                      × 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