Partage
  • Partager sur Facebook
  • Partager sur Twitter

probleme resultat fonction

c' est un peu ti pe ...........crispan lol

Sujet résolu
    29 décembre 2005 à 21:49:17


    salutt tout le monde!

    j' ai un probleme avec une fonction comme je vous l' ai déja dit plus haut^^
    je vous donne desuite la partie du code qui nous interesse!




    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <time.h>
    #include "headers.h"

    double nombre1 = 0;
    double nombre2 = 0;
    double resultat = 0;
    long choixcalcul = 0;
    long nombreMystere = 0, nombreentrer = 0;
    long MAX = 0,MIN = 0, choixmenu = 0, compteur = 0;

    double entreNB(double nombre1, double nombre2)
    {     
              printf ("entrer le nombre 1:\n");
              scanf ("%lf", &nombre1);
              printf ("entrer le nombre 2:\n");
              scanf ("%lf", &nombre2);
            return nombre1, nombre2;
    }
    int main(int argc, char *argv[])
    { system("color 4a");   
      printf ("\n\n\n\t\t\t  la calculatrice par julien\n\n\n\n");
      printf ("\t\t\t=============Menu=============\n\n");
      printf ("\t\t\t\t1. Addition\n");
      printf ("\t\t\t\t2. Soustraction\n");
      printf ("\t\t\t\t3. Multiplication\n");
      printf ("\t\t\t\t4. Division\n");
      printf ("\t\t\t\t5. Puissance\n");
      printf ("\t\t\t\t6. Racine carre\n");
      printf ("\t\t\t\t7. Jeux\n");
      printf ("\t\t\t\t8. Retour menu\n\n");
      printf ("\t\t\t==============================\n\n");
    while (choixcalcul = 8)
    { printf ("\t\t\t      Entrez votre choix:\n\n");
      scanf ("%ld", &choixcalcul);
     
    switch (choixcalcul)
      { case 1:
              printf ("vous avez choisi l' addition!\n");
              entreNB(nombre1, nombre2)
              printf ("%lf + %lf = %lf\n\n", nombre1, nombre2, resultat);
              printf ("Sa ne sert a rien de verifier, j' ai juste!!!\n\n\n");
              break;
        case 2:
              printf ("vous avez choisi la soustraction!\n");       
              printf ("entrer le nombre 1:\n");
              scanf ("%lf", &nombre1);
              printf ("entrer le nombre 2:\n");
              scanf ("%lf", &nombre2);
              resultat = nombre1 - nombre2;
              printf ("%lf - %lf = %lf\n\n", nombre1, nombre2, resultat);
              printf ("\n\n\n");   
              break;

    etc etc etc .......
    Le probleme qui ce trouve est que lorsque je lance le programme que je choisi addition
    (case 1) ou j' ai appelé la fonction entreNB,
    le resultat est toujour de 0.000000 + 0.000000 = 0.0000000 même en tapant n'importe quel nombre alors que pour la soustraction (case 2) à laquelle je n' ai pas appliqué la fonction entreNB le resultat est toujours juste
    et n' egale pas 0!!!!..^^
    Si vous pouviez m' expliquer pourquoi le resultat ainsi que les nombres rentrés de la fonction egale toujours 0?? o_O MEEERRRCIIIIIIIII!!!!!!
    • Partager sur Facebook
    • Partager sur Twitter
      29 décembre 2005 à 21:51:18

      c'est quoi çà ?
      return nombre1, nombre2;

      on ne peux renvoyer qu'une seule valeur par "return"

      et puis :
      entreNB(nombre1, nombre2);

      comment veux tu récupérer le résultat d'une fonction sans mettre de variable devant ?
      • Partager sur Facebook
      • Partager sur Twitter
        29 décembre 2005 à 21:57:53

        puis il y a ca qui n'est pas tres bon ...


        while (choixcalcul = 8)
        • Partager sur Facebook
        • Partager sur Twitter
          30 décembre 2005 à 14:38:10

          ok pour le return j' ai changé la valeur j' ai mis entreNB a la place par contre minirop je ne comprend pas se que tu veux me dire pour les variables,
          je dois redeclarer nombre1 et 2 en double avant la fonction, j ' ai essayer plusieurs configurations, sa ne marche pas..
          si tu pouvais m' expliquer?

          En tout cas merci pour vos reponses rapides et vive le site du zero!!!!
          • Partager sur Facebook
          • Partager sur Twitter
            30 décembre 2005 à 15:46:11

            Il y a beaucoup d'erreur dans ton code :
            • resultat n'est jamais redéfini dans l'addition
            • tu veux retournée 2 nombres après les avoir assigné dans la fonction entreNB(), ce qui est impossible
            • tu redéfini des variables (variable globale nombre1 et nombre2) et variable de la fonction entreNB()
            Pour les resoudre :
            • defini resultat dans l'addition après avoir appelée la fonction entreNB() (donc faire l'addition)
            • enlève le return nombre1, nombre2
            • enlève les paramètres de la fonction entreNB()


            j'espère t'avoir aider.

            ++
            Tiftof
            • Partager sur Facebook
            • Partager sur Twitter
              30 décembre 2005 à 17:36:37

              Super merci tif tof, j' ai completement reglé mon problème, pour resultat je suis trop bete, j' ai oubmlié de le remetre aprés l' avoir suprimé.....^^

              Bon sinon je vais me replonger daans les cours de Matheo sur les fonctions..
              • Partager sur Facebook
              • Partager sur Twitter

              probleme resultat fonction

              × 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