Partage
  • Partager sur Facebook
  • Partager sur Twitter

mettre fin a un programme sans faire le calcul

Sujet résolu
    17 janvier 2021 à 22:46:23

    Bonjour, débutant en language C jai vraiment encore du mal a comprendre donc ne soyez pas sévère avec moi. j'ai essayer d'écrire un programme dont j'ai créer une fonction qui  calcule le triple du nombre entrer ( comme dans le cour ) ensuite j'ai crée une fonction double et dans le main vers la fin je demande a l'utilisateur est ce qu'il veux calculer le double  du résultat du nombre triple entré. le problème est la que je dise oui ou non il me calcul le résultat quand meme alors que je voudrais lorsque j'appuie sur 0 = non il ne fasse pas le calcul et le programme s'arrete. Pourriez vous m'aidez a améliorer mon programme avec des explication svp. Merci :)
    #include <stdio.h>
    #include <stdlib.h>
    
    int triple(int nombre)
    {
    
        return 3 * nombre;
    
    }
    int doublee(int nombre)
    
    {
        return 2 * nombre;
    }
    
    int main(int argc, char *argv[]) // la fonction commence par main
    {
    int nombreentre = 0; int nombretriple = 0; int calcull = 1; int nombredouble = 0; // il lit les instruction dans la fonction une par une dans l'ordre
    
    
    printf( "quel est le nombre ?\n");
    scanf("%d", &nombreentre);
    
    printf("vous allez calculer le triple du nombre %d\n", nombreentre);
    
    nombretriple = triple(nombreentre);
    printf(" le triple du nombre %d est %d\n", nombreentre,nombretriple);
    do
    {
    printf(" voulez vous calculez le double du résultat obtenu ? \n 1=oui 0=non :");
    scanf("%d", &calcull);
    
    nombredouble = doublee(nombretriple);
    printf("le double du résultat obtenue est %d \n", nombredouble);
    
    }while (calcull == 1);
    
    return 0;
    
    }

    -
    Edité par AbcAbc6 17 janvier 2021 à 23:02:14

    • Partager sur Facebook
    • Partager sur Twitter
      17 janvier 2021 à 23:04:39

      Bonsoir, j'ai modifié le titre de votre sujet par votre sous titre, cela me parait plus clair que "fonction".

      Indenter votre code!!!

      Déplacement vers un forum plus approprié

      Le sujet est déplacé de la section Discussions entreprise vers la section Langage C

      • Partager sur Facebook
      • Partager sur Twitter
        17 janvier 2021 à 23:24:43

        Le bloc {} d'une boucle do while est toujours exécuté ! Si tu ne souhaites pas qu'il soit toujours exécuté, il faut utiliser une boucle while.

        Mais bon dans ton exemple un if suffit probablement !

        PS : Indente ton code correctement !

        -
        Edité par rouloude 17 janvier 2021 à 23:29:57

        • Partager sur Facebook
        • Partager sur Twitter
          18 janvier 2021 à 0:26:34

          bonjour j'ai pu modifier mon code mais un détail me soul c'est quand je redemande voulez vous caluler un autre nombre je press oui mais il me met quand meme le au revoir et reprend la boucle en me disant "quel est le nombre", j'arrive pas a trouvé mon erreur quand le programme me demande voulez vous calculer un autre nombre sans qu'il me dise le "au revoir"
          #include <stdio.h>
          #include <stdlib.h>
          
          int triple(int nombre)
          {
          
              return 3 * nombre;
          
          }
          int doublee(int nombre)
          
          {
              return 2 * nombre;
          }
          
          int main(int argc, char *argv[]) // la fonction commence par main
          {
          int nombreentre = 0; int nombretriple = 0; int calcull = 1; int nombredouble = 0; // il lit les instruction dans la fonction une par une dans l'ordre
          
          do
          {
          printf( "quel est le nombre ?\n");
          scanf("%d", &nombreentre);
          
          printf("vous allez calculer le triple du nombre %d\n", nombreentre);
          
          nombretriple = triple(nombreentre);
          printf(" le triple du nombre %d est %d\n", nombreentre,nombretriple);
          
          printf(" voulez vous calculez le double du résultat obtenu ? \n 1=oui 0=non :");
          scanf("%d", &calcull);
          if (calcull == 1)
          {
          nombredouble = doublee(nombretriple);
          printf("le double du résultat obtenue est %d \n", nombredouble);
          printf("voulez vous calculer un autre nombre ?\n 1 = oui 2 = non\n");
          scanf("%d", &calcull);
          }
          
          else (calcull == 0);
          {
          printf("aurevoir");
          }
          } while (calcull == 1);
          
          return 0;
          
          }


          -
          Edité par SkellxPlayer 18 janvier 2021 à 0:27:17

          • Partager sur Facebook
          • Partager sur Twitter
            18 janvier 2021 à 3:27:02

            Bonjour,

            La ligne 40 n'est pas correcte. Après else il ne peut pas y avoir une condition. On peut écrire :

            if ( condition )  // SI
            {
               ... fait si la condition est vraie ... 
            }
            else              // SINON
            {
               ... fait dans les autres cas ... 
            }

            ou si on veut un double test:

            if ( condition )            // SI
            {
               ... fait si la condition est vraie ... 
            }
            else if ( autre_condition ) // SINON SI
            {
               ... fait si condition est fausse et autre_condition vraie ... 
            }
            • Partager sur Facebook
            • Partager sur Twitter

            En recherche d'emploi.

              19 janvier 2021 à 15:44:39

              Dalfab a écrit:

              Bonjour,

              La ligne 40 n'est pas correcte. Après else il ne peut pas y avoir une condition. On peut écrire :

              if ( condition )  // SI
              {
                 ... fait si la condition est vraie ... 
              }
              else              // SINON
              {
                 ... fait dans les autres cas ... 
              }

              ou si on veut un double test:

              if ( condition )            // SI
              {
                 ... fait si la condition est vraie ... 
              }
              else if ( autre_condition ) // SINON SI
              {
                 ... fait si condition est fausse et autre_condition vraie ... 
              }

              Bonjour,

              je viens de comprendre mon erreur il fallait que le else je le remplace par un if et que le je le sorte de la boucle do..while pour qu'il me dise un aurevoir a chaque fois que je dis non. je vous remercie pour le petit coup de pouce

              -
              Edité par SkellxPlayer 19 janvier 2021 à 15:45:12

              • Partager sur Facebook
              • Partager sur Twitter

              mettre fin a un programme sans faire le calcul

              × 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