Partage
  • Partager sur Facebook
  • Partager sur Twitter

Stocker variable

    8 janvier 2006 à 17:28:07

    Bonjour

    J'essai de faire une tite calculatrice mais je ne sais pas comment on peut stocker une variable telle que "+, -, * ou /".
    On a %ld et %lf pour les nombres entiers et décimaux mais comment faire pour des signes ?
    Je vous donne mon début de code.
    Merci :)


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

    int main(int argc, char *argv[])
    {
     
     long nb1, nb2;
     
     printf("Bienvenue dans la calculatrice que j'ai moi-meme realisee en C++ !\n");
     printf("Bien entendu la calculatrice ne marche pas avec des nombres a virgules !\n\n");
     printf("Saisissez un nombre : \n", nb1);
     scanf("%ld", &nb1);
     printf("Saisissez un autre nombre : \n", nb2);
     scanf("%ld", &nb2);
     
     
     printf("Saisissez ensuite un signe : +, -, * ou /\n\n");

     
      system("PAUSE");     
      return 0;
    }

    • Partager sur Facebook
    • Partager sur Twitter
      8 janvier 2006 à 17:31:59

      C'est du C pas du C++... sinon patiente je regarde ton code ;)

      Moi j'aurai fais cette méthode:
      #include <stdio.h>
      #include <stdlib.h>

      int main(int argc, char *argv[])
      {
       
       long choix, nb1, nb2, resultat; //<< pour les nombres décimaux faut changer c'est pas long je crois, je sais plus ^^
       
       printf("Bienvenue dans la calculatrice que j'ai moi-meme realisee en C++ !\n");
       printf("Bien entendu la calculatrice MARCHE avec des nombres a virgules !\n\n");
       printf("1.Addition\n2.Soustraction\n3.Division\n4.Multiplication\n");
       printf("Saisissez votre choix : \n");
       scanf("%d", &choix);
       switch (choix)
       {
              case 1:
                   printf("Donnez 2nombres en suivants\n");
                   scanf("%f%f", &nb1 &nb2);
                   break;

       
        system("PAUSE");     
        return 0;
      }


      Je sais pas si sa marche avec 2scanf dedans, j'ai déjà fais mais me souviens plus si sa s'écris comme ca! lol ^^
      Sinon suis mon exemple, après fait un resultat = nb1 + nb2... etc ;)
      ++
      • Partager sur Facebook
      • Partager sur Twitter
        8 janvier 2006 à 17:34:52

        Ah, oui désolé. J'y penserai.
        Merci Snakif
        • Partager sur Facebook
        • Partager sur Twitter
          8 janvier 2006 à 17:35:53

          Ca change quoi ? On peut très bien faire du C dans un projet C++..

          • Partager sur Facebook
          • Partager sur Twitter
            8 janvier 2006 à 17:41:14

            j'pense que tu peux déclarer un char signe, ensuite en tu utilise scanf suivi d'un switch en focntion du signe tapé et tu fais l'opération qu'il faut. Par contre, pourquoi pas avec les chiffres a virgules au lieu de %d tu mets %f et pour les caractere c'est %c (a vérifier).

            salut
            • Partager sur Facebook
            • Partager sur Twitter
              8 janvier 2006 à 17:44:06

              Pour les chiffres à virgules oui c'est vrai ^^
              Je vais essayer de tester avec le char.
              Le switch était prévu ;)
              • Partager sur Facebook
              • Partager sur Twitter
                8 janvier 2006 à 17:50:59

                Heu moi pour ma calculatrice j'ai fait comme ça : (C'est pas très esthètique par contre :p )
                #include <stdio.h>
                #include <stdlib.h>
                #include <math.h>

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

                double chiffre1, chiffre2, resultat;
                char signe;
                scanf("%lf%c%lf" , &chiffre1,&signe,&chiffre2);

                    if (signe=='+')
                    {
                                   resultat =  chiffre1 + chiffre2;
                                   printf("Le resultat est %lf \n", resultat);
                                  }
                                 
                    if (signe=='-')
                    {
                                   resultat =  chiffre1 - chiffre2;
                                   printf("Le resultat est %lf \n", resultat);
                                  }
                    if (signe=='*' || signe=='x')
                    {
                                   resultat =  chiffre1 * chiffre2;
                                   printf("Le resultat est %lf \n", resultat);
                                  }
                    if (signe=='/' && chiffre2!=0 )
                    {
                                   resultat =  chiffre1 / chiffre2;
                                   printf("Le resultat est %lf \n", resultat);
                                  }
                               
                     if (signe=='^' )
                    {
                                   resultat =  pow(chiffre1, chiffre2);
                                   printf("Le resultat est %lf \n", resultat);
                                  } 
                    if (signe=='/' && chiffre2==0 )
                    {
                                   printf("On ne divise pas par 0");
                                   }
                system("PAUSE");
                  return 0;
                }
                • Partager sur Facebook
                • Partager sur Twitter
                  8 janvier 2006 à 17:53:24

                  A Snakif
                  Le switch ne pourrait pas plutôt se faire avant simplement dans le cas 1 2 3 et 4 ?
                  Les nombres seraient à choisir avant.

                  case 1: nb1+nb2
                  case 2: nb1-nb2
                  case 3: ...
                  • Partager sur Facebook
                  • Partager sur Twitter

                  Stocker variable

                  × 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