Aide pour programmer

rr -  
paly2 Messages postés 261 Statut Membre -
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 8854 Statut Membre 652
 
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 4624 Date d'inscription   Statut Membre Dernière intervention   1 072
 
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 8854 Statut Membre 652
 
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 4624 Date d'inscription   Statut Membre Dernière intervention   1 072
 
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
rr
 
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 8854 Statut Membre 652
 
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 15479 Statut Modérateur 366
 
&nombre1,nombre2
Pourquoi le nombre1 est le seul a avoir un & ?
0
Pierre1310 Messages postés 8854 Statut Membre 652
 
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 4624 Date d'inscription   Statut Membre Dernière intervention   1 072
 
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 8854 Statut Membre 652 > luckydu43 Messages postés 4624 Date d'inscription   Statut Membre Dernière intervention  
 
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 720 Statut Membre 101
 
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