Aide pour programmer

Bonjour,

bonjour on me demande de faire un programme qui permet de saisir deux nombres et affiche le plus petit

4 réponses

  1. Salut,

    On est pas la pour faire tes devoirs, montre ce que tu as fais et si c'est faux, on te corrigera.
    1. Bonjour !

      Je ne connais pas la syntaxe du C, mais voici le déroulement du programme qu'il te faudra adapter en code :

      Saisir A
      Saisir B
      // Voir ici un contrôle de la saisie pour ne pouvoir traiter que des
      // nombres, et gérer le cas où l'utilisateur rentre des caractères
      // alphabétiques et/ou accentués
      Si (A < B)
      Afficher A
      Sinon
      Si (A > B)
      Afficher B
      Sinon
      Afficher (Les deux nombres sont égaux)
      Fin Si
      Fin Si

      Bonne journée !

      Luc

      Les 3 plus grands mensonges du dev : 1. La doc ? On la fera plus tard... 2. Le programme a été testé et ne comporte aucun bug... 3. Les spécifications techniques sont finies...
      1. Pour commencer ton algorithme est faux, si A=B il s'affichera rien.

        Ensuite, si tu avais lu la charte avant de t'inscrire, tu aurais lu qu'on ne fait pas les devoirs des autres mais qu'on aide ...
      2. Réveil...
        D'une, il n'est pas faux (il y a 2 ifs imbriqués, si ça peut t'aider à la lecture ^^)
        De deux, je lui ai montré le déroulement syntaxique. A lui de trouver comment l'écrire en code.
        Pour rappel, un tel exercice est très, très, très simple. Le plus compliqué consiste plutôt à transcrire ça en code...
    2. ok je comprend offet le probleme est que je trouve tjrs pas voila mon travail
      #include <stdio.h>
      
      int main()
      {           
          int nombre1,nombre2;
          
          printf("bonjour svp saisissez deux nombre\n", nombre1,nombre2);
          scanf("%d,%d",&nombre1,nombre2);
          if (nombre1>nombre2)
          printf("le plus petit nombre est:%d",nombre2);
          else
          printf("le plus petit nombre est:%d",nombre1);
          return 0;
      }


      EDIT : Ajout des balises de code (la coloration syntaxique).
      Explications disponibles ici : ICI

      Merci d'y penser dans tes prochains messages.
      1. C'est normal, tu n'as pas compris comment on programme en C, je t'invite à réaprendre les bases que tu n'as visiblement pas grâce à ton cours et/ou internet et tu verras que c'est tout bête ensuite.
      2. Modérateur
        &nombre1,nombre2
        Pourquoi le nombre1 est le seul a avoir un & ?
      3. La syntaxe est fausse de toute façon, on ne stocke que dans une variable à la fois avec un scanf. Le & correspond à l'adresse mémoire ce qui est bon. On ne met pas le & quand c'est un tableau.
        De plus dans un prinf, on n'utilise pas l'adresse mémoire, on n'a besoin que de la valeur de la variable.

        Comme je l'ai dis, il faut qu'il apprenne son cours ou se documente pour commencer, ce sera mieux.
      4. Visiblement, c'est justement un débutant qui cherche à résoudre un problème de rentrée.
        Pourquoi tu t'acharnes à ne pas lui répondre, simplement ?! Il n'est pas en train de créer une application, il fait un main tout ce qu'il y a de plus simple avec des traitements totalement basiques.
        Ça aurait été en java que je lui aurais déjà donné de sérieuses pistes. Fais-le :-)
        "On est pas la pour faire tes devoirs, montre ce que tu as fais et si c'est faux, on te corrigera" => Tu appelles ça corriger ?!
      5. @luckydu43Je t'invite à lire la charte et plus précisément la partie devoirs du site que tu as accepté en t'inscrivant ...

        On ne fait pas les devoirs mais on aide. En voyant son code, si je veux l'aider je dois tout lui faire ce qui est contraire à la charte, donc au lieu de ça, je l'invite à se documenter sur les scanf et les printf ce qui sera mieux pour lui car il apprendra plutôt que je lui fasse ce qui n'améliorera pas son niveau.
    3. Bonjour,

      Dans le printf, tu fournis les deux nombres en dernier, hors on n'en a pas besoin ici, le compilateur a dû indiquer qu'il ignorait ces données en trop.
      Tu utilises la possibilité de recevoir 2 paramètres dans ton scanf, il faut bien en comprendre le format :
      "%d,%d" s'attend à deux nombres entiers qui devront impérativement être séparés par une virgule. Il faut ensuite mettre les 2 adresses des variables, pour avoir l'adresse on utilise l’esperluette à placer devant chaque.
         printf("bonjour svp saisissez deux nombres\n");
      scanf( "%d,%d" , &nombre1 , &nombre2 );
      Ensuite tu testes bien les cas, sauf que tu oublies de vérifier la possibilité où ils sont égaux. On peut faire
      else if ( ... )
      entre le premier
      if
      et le dernier
      else
      .