Le 0 en C++ !!
Résolu
Leo Shady
Messages postés
114
Date d'inscription
Statut
Membre
Dernière intervention
-
Leo Shady Messages postés 114 Date d'inscription Statut Membre Dernière intervention -
Leo Shady Messages postés 114 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai écrit un simple programme avec C++ .. Mais je ne sais pas ou j'ai commis l'erreur ..
Merci d'avance
PS : Je suis débutant !!
---------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main()
{
int num1,num2;
float num3; //utiliser "double" ne régelera pas le problème
cout << "Put Number 1 \n";
cin >> num1;
cout << "Put Number 2 \n";
cin >> num2;
num3 = num1/num2;
if(num2 == 0)
{
cout << "Error, Number 2 = 0 \n ";
}
else
{
cout << "Number 3 = " << num3;
}
return 0;
}
---------------------------------------------------------------------------------------------------------
J'ai écrit un simple programme avec C++ .. Mais je ne sais pas ou j'ai commis l'erreur ..
Merci d'avance
PS : Je suis débutant !!
---------------------------------------------------------------------------------------------------------
#include <iostream>
using namespace std;
int main()
{
int num1,num2;
float num3; //utiliser "double" ne régelera pas le problème
cout << "Put Number 1 \n";
cin >> num1;
cout << "Put Number 2 \n";
cin >> num2;
num3 = num1/num2;
if(num2 == 0)
{
cout << "Error, Number 2 = 0 \n ";
}
else
{
cout << "Number 3 = " << num3;
}
return 0;
}
---------------------------------------------------------------------------------------------------------
4 réponses
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;
}
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,