Partage
  • Partager sur Facebook
  • Partager sur Twitter

Créer une calculatrice

La multiplication et la division

Sujet résolu
    2 septembre 2008 à 10:55:10

    Bonjour j'ai un petit probleme, ma calculette marche pour la soustraction et l'addition mais pas pour la division et la multiplication.
    Ils m'affiche des chiffre n'importe comment (ex: 3*5 il m'ecrive 5123556*156431 =0)
    voila le code je repasserait bientot pour m'expliquer.


    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    
    int main (int argc, char *argv[])
    {
    	long choixCalcul, resultat = 0, nombre1 = 0, nombre2 = 0;
    	
    	printf("choisissez le type de calcul a executer.\n\n");
    	printf("1-Addition\n");
    	printf("2-Soustraction\n");
    	printf("3-Multiplication (non disponible)\n");
    		printf("4-Division(non disponible)\n");
    		printf("Votre choix?\n\n");
    		scanf("%ld", &choixCalcul);
    		
    		switch (choixCalcul)
    		{
    		case 1:
    			printf("Vous avez choisie d'effectuer une addition.\n");
    			printf("Entrez le premier nombre : ");
    			scanf("%ld", &nombre1);
    			printf("Entrez le deuxieme nombre : ");
    			scanf("%ld", &nombre2);
    
    			resultat = nombre1 + nombre2;
    			printf("%ld + %ld = %ld", nombre1, nombre2, resultat);
    			break;
    
    		case 2:
    			printf("Vous avez choisie d'effectuer une soustraction.\n");
    			printf("Entrez le premier nombre : ");
    			scanf("%ld", &nombre1);
    			printf("Entrez le deuxieme nombre : ");
    			scanf("%ld", &nombre2);
    
    			resultat = nombre1 - nombre2;
    			printf("%ld - %ld = %ld", nombre1, nombre2, resultat);
    			break;
    
    		case 3:
    			printf("Vous avez choisie d'effectuer une multiplication.\n");
    			printf("Entrez le premier nombre : ");
    			scanf("%ld", &nombre1);
    			printf("Entrez le deuxieme nombre : ");
    			scanf("%ld", &nombre2);
    
    			resultat = nombre1 * nombre2;
    			printf("%ld * %ld = %ld");
    			break;
    
    		}
    
    
    		printf("\n\n");
    
    		system("PAUSE");
    		return 0;
    }
    
    • Partager sur Facebook
    • Partager sur Twitter
      2 septembre 2008 à 10:59:22

      Je suis pas sur mais je crois que la division n'est pas traité. ;)
      Et pour la multiplication, il y a un autre oubli: printf("%ld * %ld = %ld");

      Enfin, tu as aussi oublié de mettre les balises autours du code. A mon avis, tu vas trop vite :)
      • Partager sur Facebook
      • Partager sur Twitter
        2 septembre 2008 à 12:32:08

        Il me semble que la division est traité mateo nous en fait faire, il parle même de modulo juste après.

        Pour le printf("%ld * %ld = %ld"); je ne vois pas l'erreur il est identique. (?)

        Ensuite, les balises?
        Je ne sais pas ce que c'est.
        Soit mateo n'en parle pas dans son tuto avant l'endroit ou je m'y trouve ou alors je ne l'ai pas vue.

        pourtant je fait un effort pour bien tout lire et apprendre correctement le tuto.
        • Partager sur Facebook
        • Partager sur Twitter
          2 septembre 2008 à 12:45:05

          Citation : Natal


          Ensuite, les balises?
          Je ne sais pas ce que c'est.



          C'est expliqué dans les règles du forum.
          • Partager sur Facebook
          • Partager sur Twitter
          Anonyme
            2 septembre 2008 à 13:04:29

            Remplace printf("%ld * %ld = %ld"); par printf("%ld * %ld = %ld", nombre1, nombre2, resultat);
            La division n'est pas traitée ( il n'y a pas de case 4 ).
            • Partager sur Facebook
            • Partager sur Twitter
              2 septembre 2008 à 13:09:23

              Merci devilgeo.
              A propos de case 4:
              Je n'ai pas trop comprit ce morceau je retourne voir sa mais si je ne mais pas case 4 alors que dois-je mettre puisque c'est le "cas" 4.
              case 5: ?

              Merci à tous pour votre aide.
              J'ai désormais une calculette qui fait addition soustraction multiplication.
              • Partager sur Facebook
              • Partager sur Twitter
                2 septembre 2008 à 14:11:40

                Citation : Natal

                Il me semble que la division est traité mateo nous en fait faire, il parle même de modulo juste après.



                Je n'ai jamais dit que mateo n'en parlait pas mais tu met dans ton menu l'option division mais jamais tu la traite. Tu n'as pas de case 4 pour la division.

                Citation : Natal


                Pour le printf("%ld * %ld = %ld"); je ne vois pas l'erreur il est identique. (?)



                Tu l'as fait pour la multiplication, je te laisse chercher.


                case 5? pourquoi pas quitter et un default aussi ?
                • Partager sur Facebook
                • Partager sur Twitter
                  3 septembre 2008 à 17:59:41

                  Merci a tous.
                  J'ai trouvé solution a tout mes poblèmes.
                  (quasiment que des fautes d'inatention. :p );
                  Je suis désormais a la dernière page de la théorie : les fonctions.

                  Je voudrai souhaiter bonne chance a tous ceux qui se lance dans la programmation, et surtout les incité à se lancer.

                  J'insiste sur un point faut pas être premier en math pour y arriver.

                  Voila ma minute est passé je passe le relai.
                  salut.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    3 septembre 2008 à 18:11:33

                    -ed- desoler mais je ne comprend pas se qui est ecrit.
                    Je n'en suis pas là.
                    Je ne vois pas le problème avec mes directives...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      6 septembre 2008 à 11:20:05

                      Voila, j'ai lue les regles mais je n'avais pas vue la petite image en dessous de l'explication.

                      Désoler à tous et merci.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        10 décembre 2011 à 18:40:03

                        Voici une petite calculette que j'ai faite en C++.

                        #include <cstdlib>
                        #include <iostream>
                        #include <string>

                        using namespace std;

                        int main(int argc, char *argv[])
                        {
                        int a;
                        int b;
                        string c;
                        system("mode 1000");

                        {
                        system("color 0c");
                        cout<< "BIENVENUE DANS MON PROGRAMME CALCULATRICE VERSION 1.01" <<endl;
                        }
                        system("pause>nul");
                        system("mode 1000");
                        {
                        system("color 0c");
                        cout<< "Entrer une valeur pour 'a':" <<endl;
                        cin >> a;
                        }
                        system("mode 1000");
                        {
                        system("color 0c");
                        cout<< "Entrer une valeur pour 'b':" <<endl;
                        cin >> b;
                        }
                        system("mode 1000");
                        {
                        system("color 0c");
                        cout<< "Enter votre operateur: + - * /"<<endl;
                        cin >> c;
                        }
                        system("mode 1000");
                        if (c=="+")
                        {
                        system("color 0c");
                        cout<< a <<" + "<< b <<" = "<< a+b <<endl;

                        system("pause");
                        system("mode 1000");
                        cout<< "Copyright © Laurent Engelbrecht 2011" <<endl;
                        }
                        else if (c=="-")
                        {
                        system("color 0c");
                        cout<< a <<" - "<< b <<" = "<< a-b <<endl;

                        system("pause");
                        system("mode 1000");
                        cout<< "Copyright © Laurent Engelbrecht 2011" <<endl;
                        }
                        else if (c=="*")
                        {
                        system("color 0c");
                        cout<< a <<" * "<< b <<" = "<< a*b <<endl;

                        system("pause");
                        system("mode 1000");
                        cout<< "Copyright © Laurent Engelbrecht 2011" <<endl;
                        }
                        else if (c=="/")
                        {
                        system("color 0c");
                        cout<< a <<" / "<< b <<" = "<< a/b <<endl;

                        system("pause");
                        system("mode 1000");
                        cout<< "Copyright © Laurent Engelbrecht 2011" <<endl;
                        }
                        system("PAUSE>nul");
                        return EXIT_SUCCESS;
                        }
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Créer une calculatrice

                        × 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