Aide pour programmer

Fermé
rr - 11 sept. 2016 à 11:29
paly2 Messages postés 254 Date d'inscription vendredi 29 août 2014 Statut Membre Dernière intervention 15 février 2018 - 24 sept. 2016 à 13:02
Bonjour,

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

A voir également:

4 réponses

Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
11 sept. 2016 à 11:32
Salut,

On est pas la pour faire tes devoirs, montre ce que tu as fais et si c'est faux, on te corrigera.
0
luckydu43 Messages postés 3985 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 23 décembre 2024 982
Modifié par luckydu43 le 11/09/2016 à 11:35
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...
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
11 sept. 2016 à 11:38
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 ...
0
luckydu43 Messages postés 3985 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 23 décembre 2024 982
Modifié par luckydu43 le 11/09/2016 à 11:41
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...
0
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.
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
11 sept. 2016 à 11:59
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.
0
NHenry Messages postés 15173 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 21 décembre 2024 350
11 sept. 2016 à 13:17
&nombre1,nombre2
Pourquoi le nombre1 est le seul a avoir un & ?
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649
11 sept. 2016 à 16:07
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.
0
luckydu43 Messages postés 3985 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 23 décembre 2024 982
Modifié par luckydu43 le 11/09/2016 à 16:10
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 ?!
0
Pierre1310 Messages postés 8564 Date d'inscription lundi 21 décembre 2015 Statut Membre Dernière intervention 21 juillet 2020 649 > luckydu43 Messages postés 3985 Date d'inscription vendredi 9 janvier 2015 Statut Membre Dernière intervention 23 décembre 2024
11 sept. 2016 à 17:27
Je 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.
0
Dalfab Messages postés 706 Date d'inscription dimanche 7 février 2016 Statut Membre Dernière intervention 2 novembre 2023 101
11 sept. 2016 à 23:26
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
.
0