Partage
  • Partager sur Facebook
  • Partager sur Twitter

Ma calculette

j'ai un probleme

Sujet résolu
    17 décembre 2005 à 20:12:27

    Bonjour a tous ! Aprés avoir lu le chapitre 6 de C/C++, j'ai esseyer de fair une calculette, seulement voila, j'ai un probleme kan je compile, ca doit etre le code source qui a des erreurs mais j'ai bo chercher, je ne voit pas ou est le probleme. Voici mon code source :

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

    int main(int argc, char *argv[])
    {
        while (1)
    {
      long choiOperation = 0;
      printf("*****cAlCuLeTtE*****\n");
      printf("\nSalut , et bienvenu dans la calculette mAgique !!\n\n");
      printf("==MeNu dEs oPeRaTiOnS==\n");
      printf("1.aDdItIoN\n");
      printf("2.sOuStRaCtIoN\n");
      printf("3.mUlTiPlIcAtIoN\n");
      printf("4.dIvIsIoN\n");
      printf("a toi de jouer !Choisi une operation : ");
      scanf("%ld", &choiOperation);
     
      switch (choiOperation)
      {
            case 1:
                 long nombre1 = 0, nombre2 = 0, resultat = 0;
                 printf("tu a choisi l'addition !\n\n");
                 printf("Entre un nombre de depart : ");
                 scanf("%ld", &nombre1);
                 printf("Entre un nombre ke tu voudrai ajouter au nombre de depart : ");
                 scanf("%ld", &nombre2);
                 
                 resultat = nombre1 + nombre2;
                 
                 printf("Voici le resultat de ton addition : \n");
                 printf("%ld + %ld = %ld", nombre1, nombre2, resultat);
                 break;
           
            case 2:
                 long resultat = 0, nombre1 = 0, nombre2 = 0;
                 printf("tu a choisi le soustraction !\n\n");
                 printf("Entre un nombre de depart : ");
                 scanf("%ld", &nombre1);
                 printf("Entre un nombre a soustrair au nombre de depart : ");
                 scanf("%ld", &nombre2);
                 
                 resultat = nombre1 - nombre2;
                 
                 printf("Voici le resultat de ta soustraction : \n");
                 printf("%ld - %ld = %ld", nombre1, nombre2, resultat);
                 break;
             
            case 3:
                 long resultat = 0, nombre1 = 0, nombre2 = 0;
                 printf("tu a choisi la multiplication !\n\n");
                 printf("Entre un nombre de depart : ");
                 scanf("%ld", &nombre1);
                 printf("Entre le nombre par lequel tu voucrait multiplier le nombre de depart : ");
                 scanf("%ld", &nombre2);
                 
                 resultat = nombre1 * nombre2;
                 
                 printf("Voici le resultat de ta multiplication : \n");
                 printf("%ld x %ld = %ld", nombre1, nombre2, resultat);
                 break;
                 
            case 4:
                 double resultat = 0, nombre1 = 0, nombre2 = 0;
                 printf("tu a choisi la division !\n\n");
                 printf("Entre un nombre de depart : ");
                 scanf("%lf", &nombre1)
                 printf("Entre un nombre par lequel tu voudrait diviser le nombre de depart : ");
                 scanf("%lf", &nombre2);
                 
                 resultat = nombre1 / nombre2;
                 
                 printf("Voici le resultat de ta division : \n");
                 printf("%lf : %lf = %ld",nombre1, nombre2, resultat);
                 break;
                 
           default:
                 printf("Entre un nombre correct s'il te plait !");
    }
    }             
      system("PAUSE");     
      return 0;
    }



    Apparement ya un probleme avec cette ligne :

    long nombre1 = 0, nombre2 = 0, resultat = 0;


    C'est celle du "case 1:"

    Si vous voyez l'erreur fait moi signe

    merci d'avance ! @+
    • Partager sur Facebook
    • Partager sur Twitter
      17 décembre 2005 à 20:35:47

      Salut,
      en C les variables doivent être déclarée au debut du main.
      Vu que pour les 3 premiers calcul tu utilise les même lariables tu peut faire :

      int main(int argc, char *argv[])
      { long nombre1 = 0, nombre2 = 0, resultat = 0;
      //...

      pour la 4eme partie le mieux est de créer des nouvelles variables que tu déclare juste après les autres.
      double resultatb = 0, nombre1b = 0, nombre2b = 0;
      //...
             case 4:
                   
                   printf("tu a choisi la division !\n\n");
                   printf("Entre un nombre de depart : ");
                   scanf("%lf", &nombre1b);
                   printf("Entre un nombre par lequel tu voudrait diviser le nombre de depart : ");
                   scanf("%lf", &nombre2b);
                   
                   resultatb = nombre1b / nombre2b;
                   
                   printf("Voici le resultat de ta division : \n");
                   printf("%lf : %lf = %ld",nombre1b, nombre2b, resultatb);
                   break;

      @+
      • Partager sur Facebook
      • Partager sur Twitter
        17 décembre 2005 à 21:02:30

        Bon voila ton code retape:
        #include <stdio.h>
        #include <stdlib.h>

        int main(int argc, char *argv[])
        {
            while (1)
        {
          long choiOperation = 0;
          long nombre1 = 0, nombre2 = 0, resultat = 0;
          printf("*****cAlCuLeTtE*****\n");
          printf("\nSalut , et bienvenu dans la calculette mAgique !!\n\n");
          printf("==MeNu dEs oPeRaTiOnS==\n");
          printf("1.aDdItIoN\n");
          printf("2.sOuStRaCtIoN\n");
          printf("3.mUlTiPlIcAtIoN\n");
          printf("4.dIvIsIoN\n");
          printf("a toi de jouer !Choisi une operation : \n");
          scanf("%ld", &choiOperation);
         
          switch (choiOperation)
          {
                case 1:
                     system("CLS");
                     printf("tu a choisi l'addition !\n\n");
                     printf("Entre un nombre de depart : ");
                     scanf("%ld", &nombre1);
                     printf("Entre un nombre ke tu voudrai ajouter au nombre de depart : ");
                     scanf("%ld", &nombre2);
                     
                     resultat = nombre1 + nombre2;
                     
                     printf("Voici le resultat de ton addition : \n");
                     printf("%ld + %ld = %ld", nombre1, nombre2, resultat);
                     sleep(3000);
                     system("CLS");
                     break;
               
                case 2:
                     system("CLS");
                     printf("tu a choisi le soustraction !\n\n");
                     printf("Entre un nombre de depart : ");
                     scanf("%ld", &nombre1);
                     printf("Entre un nombre a soustrair au nombre de depart : ");
                     scanf("%ld", &nombre2);
                     
                     resultat = nombre1 - nombre2;
                     
                     printf("Voici le resultat de ta soustraction : \n");
                     printf("%ld - %ld = %ld", nombre1, nombre2, resultat);
                     sleep(3000);
                     system("CLS");
                     break;
                 
                case 3:
                     system("CLS");
                     printf("tu a choisi la multiplication !\n\n");
                     printf("Entre un nombre de depart : ");
                     scanf("%ld", &nombre1);
                     printf("Entre le nombre par lequel tu voucrait multiplier le nombre de depart : ");
                     scanf("%ld", &nombre2);
                     
                     resultat = nombre1 * nombre2;
                     
                     printf("Voici le resultat de ta multiplication : \n");
                     printf("%ld x %ld = %ld", nombre1, nombre2, resultat);
                     sleep(3000);
                     system("CLS");
                     break;
                     
                case 4:
                     system("CLS");
                     printf("tu a choisi la division !\n\n");
                     printf("Entre un nombre de depart : ");
                     scanf("%lf", &nombre1)
                     printf("Entre un nombre par lequel tu voudrait diviser le nombre de depart : ");
                     scanf("%lf", &nombre2);
                     
                     resultat = nombre1 / nombre2;
                     
                     printf("Voici le resultat de ta division : \n");
                     printf("%lf : %lf = %ld", nombre1, nombre2, resultat);
                     sleep(3000);
                     system("CLS");
                     break;
                     
               default:
                     printf("Entre un nombre correct s'il te plait !");
        }
        }             
          system("PAUSE");     
          return 0;
        }

        Juste comme ca... Ta boucle a l infini... C est un peu la merde. Mais un truc genre: "Pour fermer le programme, tapez 0"
        mais bon on peut toujours le fermer avec la petite croix... Mais c est lourd.
        @++ les gens
        • Partager sur Facebook
        • Partager sur Twitter
          17 décembre 2005 à 22:46:34

          merci beaucoup ca marche parfaitement !Par contre je vais me contenter du code de boced66 parceque c'est des truque que je conner (parceque j'arrive meme pas a comprendre la moitier du code de heskan alor voila quoi)A par ca pour la boucle infini(qui est de la merde d'apré heskan) ce programme était avant tout fait pour tester mes connaissances, donc les petits details on s'en passera.

          merci be&aucoup a vous 2 @+
          • Partager sur Facebook
          • Partager sur Twitter

          Ma calculette

          × 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