Saisie de chiffre en C
Résolu/Fermé
noobprogrammer
Messages postés
6
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
7 mars 2012
-
6 mars 2012 à 21:44
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 mars 2012 à 20:52
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 mars 2012 à 20:52
A voir également:
- Saisie de chiffre en C
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel trier par ordre croissant chiffre - Guide
- 1 million dinar algérien en chiffre ✓ - Forum Programmation
- Autorisation non accordée d'activer la saisie vocale - Forum Xiaomi
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
6 mars 2012 à 22:18
6 mars 2012 à 22:18
Ensuite il faut comparer les deux nombres pour trouver le plus grand.
if (a>b) printf("%d\n",...) else printf("%d\n",a);
Danelectro
Messages postés
1723
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 mars 2018
369
6 mars 2012 à 22:46
6 mars 2012 à 22:46
Pourquoi avoir déclaré c ? Et pourquoi %i, c'est pas %d pour un int ?
Sinon, comme l'a dit fiddy, il faut les comparer :
if (a>b){
printf("%d - %d",b,a);
}else{
printf("%d - %d",a,b);
Sinon, comme l'a dit fiddy, il faut les comparer :
if (a>b){
printf("%d - %d",b,a);
}else{
printf("%d - %d",a,b);
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
6 mars 2012 à 22:49
6 mars 2012 à 22:49
Et pourquoi %i, c'est pas %d pour un int ?
Les deux mon commandant.
Les deux mon commandant.
Danelectro
Messages postés
1723
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 mars 2018
369
6 mars 2012 à 22:51
6 mars 2012 à 22:51
Ah ok, je savais pas merci :P c'est quoi la différence ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
Modifié par fiddy le 6/03/2012 à 23:02
Modifié par fiddy le 6/03/2012 à 23:02
Aucune différence. Tu peux mettre indifféremment %d ou %i comme bon te semble.
Danelectro
Messages postés
1723
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 mars 2018
369
6 mars 2012 à 23:04
6 mars 2012 à 23:04
Merci, je me coucherai moins ignorant :)
noobprogrammer
Messages postés
6
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
7 mars 2012
Modifié par noobprogrammer le 6/03/2012 à 23:05
Modifié par noobprogrammer le 6/03/2012 à 23:05
Ah oui effectivement, je me suis trompé en rajoutant c et %i, désolé...
Merci beaucoup ça marche !
Par contre dans le cas ou on voudrait faire la même chose mais avec 3 nombres, on peut faire quelque chose comme ça ? :
if (a>b) && (b>c){
printf("%d - %d",a,b,c);
}else{
if (a>b) && (c>b){
printf("%d - %d",a,c,b);
etc...
ça supposerait qu'il faudrait refaire ce code plusieurs fois pour chaque nombres alors ?
Merci beaucoup ça marche !
Par contre dans le cas ou on voudrait faire la même chose mais avec 3 nombres, on peut faire quelque chose comme ça ? :
if (a>b) && (b>c){
printf("%d - %d",a,b,c);
}else{
if (a>b) && (c>b){
printf("%d - %d",a,c,b);
etc...
ça supposerait qu'il faudrait refaire ce code plusieurs fois pour chaque nombres alors ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
6 mars 2012 à 23:12
6 mars 2012 à 23:12
C'est exactement ça.
Je te corrige quand même la notation :
Lorsque tu as plein de nombre cette méthode n'est pas réalisable. Dans ce cas, on utilisera des fonctions de tri (à bulle par exemple) qui trieront le tableau.
Cdlt,
Je te corrige quand même la notation :
if ( (a>b) && (b>c) ) { ... } else if (b<a) { ... } else { ... }
Lorsque tu as plein de nombre cette méthode n'est pas réalisable. Dans ce cas, on utilisera des fonctions de tri (à bulle par exemple) qui trieront le tableau.
Cdlt,
noobprogrammer
Messages postés
6
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
7 mars 2012
6 mars 2012 à 23:14
6 mars 2012 à 23:14
Je vais tester ça alors, merci beaucoup pour la rapidité de vos réponses.
Danelectro
Messages postés
1723
Date d'inscription
samedi 25 février 2012
Statut
Membre
Dernière intervention
29 mars 2018
369
6 mars 2012 à 23:15
6 mars 2012 à 23:15
Je pense que le plus simple serait de passer par un tableau avec une boucle pour trier :P
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
6 mars 2012 à 23:18
6 mars 2012 à 23:18
Danelectro,
Voir même deux boucles :P
Voir même deux boucles :P
noobprogrammer
Messages postés
6
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
7 mars 2012
Modifié par noobprogrammer le 7/03/2012 à 00:02
Modifié par noobprogrammer le 7/03/2012 à 00:02
bah enfait, j'ai pas appris ça encore, donc je vais me débrouiller avec cette formule, après si vous avez des pistes avec la boucle, je suis preneur, si ça peut simplifier :)
noobprogrammer
Messages postés
6
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
7 mars 2012
Modifié par noobprogrammer le 7/03/2012 à 00:24
Modifié par noobprogrammer le 7/03/2012 à 00:24
Sinon est-ce que l'on peut faire ça avec un switch ?
du genre (après avoir déclaré les valeurs) :
etc ?
du genre (après avoir déclaré les valeurs) :
switch (a,b,c) { case 0 : if ( (a>b) && (b>c) ) { printf("%d - %d",a,b,c);break; case 1 : if....
etc ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
Modifié par fiddy le 7/03/2012 à 08:27
Modifié par fiddy le 7/03/2012 à 08:27
Non, ce n'est pas possible.
Le switch ne se fait que sur une valeur et ne fonctionne pas du tout comme tu le penses.
Le switch ne se fait que sur une valeur et ne fonctionne pas du tout comme tu le penses.
switch (a) { case 0: /*veut dire : si a vaut 0*/ ... break; /*à ne pas oublier*/ case 10: /*veut dire : si a vaut 10*/ ... break; /*à ne pas oublier*/ default : /*veut dire : sinon*/ ... }
noobprogrammer
Messages postés
6
Date d'inscription
mardi 6 mars 2012
Statut
Membre
Dernière intervention
7 mars 2012
7 mars 2012 à 20:40
7 mars 2012 à 20:40
ah oui, effectivement ça aurait été trop beau sinon...Par contre j'ai encore une dernière question, désolé si ça peut sembler bête mais il faut bien débuter...
J'ai un autre problème concernant l'affranchissement de lettre, on doit afficher le tarif à partir du poids entré et je bloque à la partie où "à partir 60g et, au-delà, ça doit calculer 0,20€ par tranche de 20 grammes" . C'est la fin que je n'arrive pas à mettre en code, le début donnerait :
J'ai un autre problème concernant l'affranchissement de lettre, on doit afficher le tarif à partir du poids entré et je bloque à la partie où "à partir 60g et, au-delà, ça doit calculer 0,20€ par tranche de 20 grammes" . C'est la fin que je n'arrive pas à mettre en code, le début donnerait :
if (entier >= 60)...mais après ? Merci encore.
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 833
7 mars 2012 à 20:52
7 mars 2012 à 20:52
"0,20 € par tranche de 20 grammes"
Donc :
pour 60, ça fera 3*0,20.
pour 80, ça fera 4*0,20
pour 100, ça fera 5*0,20
pour 20*n, ça fera n*0,20
Avec entier=20n, tu en déduis que le montant sera entier/20*0.20 (avec entier/20 le diviseur (valeur entière))
Donc :
pour 60, ça fera 3*0,20.
pour 80, ça fera 4*0,20
pour 100, ça fera 5*0,20
pour 20*n, ça fera n*0,20
Avec entier=20n, tu en déduis que le montant sera entier/20*0.20 (avec entier/20 le diviseur (valeur entière))