Le 0 en C++ !!
Résolu/Fermé
Leo Shady
Messages postés
112
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
23 août 2011
-
3 sept. 2010 à 15:15
Leo Shady Messages postés 112 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 août 2011 - 3 sept. 2010 à 17:38
Leo Shady Messages postés 112 Date d'inscription mercredi 22 avril 2009 Statut Membre Dernière intervention 23 août 2011 - 3 sept. 2010 à 17:38
4 réponses
scaravenger
Messages postés
2678
Date d'inscription
mercredi 28 mai 2008
Statut
Membre
Dernière intervention
30 janvier 2015
625
Modifié par scaravenger le 3/09/2010 à 15:26
Modifié par scaravenger le 3/09/2010 à 15:26
essaye
float num1,num2;
.
.
.
//num3 = num1/num2; à déplacer
if(num2 == 0)
{
cout << "Error, Number 2 = 0 \n ";
}
else
{
num3 = num1/num2;// replacée
cout << "Number 3 = " << num3;
}
float num1,num2;
.
.
.
//num3 = num1/num2; à déplacer
if(num2 == 0)
{
cout << "Error, Number 2 = 0 \n ";
}
else
{
num3 = num1/num2;// replacée
cout << "Number 3 = " << num3;
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
3 sept. 2010 à 15:39
3 sept. 2010 à 15:39
Bonjour,
Non le type "double" ne réglera pas le problème. Il n'empêche qu'il vaut mieux utiliser "double" que "float".
num3 = num1/num2;
La division int/int donne le diviseur. Pour faire ce que tu souhaites, il faut caster : num3 = (double)num1/num2; ou num3 = (float)num1/num2;
Et plutôt que faire le test : if (num2==0) après num3=num1/num2; vaut mieux le faire avant pour savoir si tu peux diviser ou pas.
Par exemple :
Cdlt,
Non le type "double" ne réglera pas le problème. Il n'empêche qu'il vaut mieux utiliser "double" que "float".
num3 = num1/num2;
La division int/int donne le diviseur. Pour faire ce que tu souhaites, il faut caster : num3 = (double)num1/num2; ou num3 = (float)num1/num2;
Et plutôt que faire le test : if (num2==0) après num3=num1/num2; vaut mieux le faire avant pour savoir si tu peux diviser ou pas.
Par exemple :
if (num2==0) {
cout << "error..." << endl;
}
else {
num3=(double)num1/num2;
cout << num3 << endl;
}
Cdlt,
Leo Shady
Messages postés
112
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
23 août 2011
15
3 sept. 2010 à 15:45
3 sept. 2010 à 15:45
ça marche .. Merci
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
3 sept. 2010 à 16:34
3 sept. 2010 à 16:34
Ca marche, oui, mais là num1 et num2 ne sont plus des entiers.
Est-ce bien ce que tu veux ? Si tu veux que num1 et num2 restent des entiers, il faudra que caster.
Cdlt,
Est-ce bien ce que tu veux ? Si tu veux que num1 et num2 restent des entiers, il faudra que caster.
Cdlt,
Leo Shady
Messages postés
112
Date d'inscription
mercredi 22 avril 2009
Statut
Membre
Dernière intervention
23 août 2011
15
3 sept. 2010 à 17:38
3 sept. 2010 à 17:38
Oui je sais .. Mais c'est pas un blème ça .. Merci bcp pour l'aide .. !! ^^