sebz10
Messages postés2Date d'inscriptionlundi 28 février 2011StatutMembreDernière intervention13 mars 2011
-
13 mars 2011 à 19:53
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023
-
14 mars 2011 à 10:06
salut,
Pourriez vous me donner la correction de ce code svp:
#include<cstdlib>
#include
int main()
{
/********************
Corps de la fonction
********************/
// fonction permettant a l'utilisateur de saisir le premier nombre
cin>>intNombre1;
// fonction fonction permettant a l'utilisateur de saisir la signe de l'opération
cin>>chrOperand;
// fonction permettant a l'utilisateur de saisir le second nombre
cin>>intNombre2;
if(chrOperand == '+');
{
intResultat = intNombre1 + intNombre2;
}
else if(chrOperand == '-');
{
intResultat = intNombre1 - intNombre2;
}
else if(chrOperand == '*');
{
intResultat = intNombre1 * intNombre2;
}
else if(chrOperand == '/');
{
intResultat = intNombre1 / intNombre2;
}
cout<>intNombre1;
cout<<"entrez le signe de l'opération +-*/"<<endl;
cin>>chrOperand;
cout<<"entrez le second nombre"<<endl;
cin>>intNombre2;
cout<<"le resultat est"<<endl;
cout<<int resultat<<endl;
double dblNombre1 0.0, dblNombre2 0.0;
double dblResultat =0.0
char chrOperand = NULL;
system("PAUSE");
return EXIT_SUCCESS;
}
cptpingu
Messages postés3837Date d'inscriptiondimanche 12 décembre 2004StatutModérateurDernière intervention28 mars 2023123 14 mars 2011 à 10:06
- Pas besoin de stdlib, c'est du C, pas du C++.
- Évite les "using namespace", voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace - Pourquoi mettre NULL dans un char ?
- On peut directement demander les 3 valeurs d'un seul coup
- Il faut gérer la division par 0
- Que fait-on si on ne trouve pas l'opérateur ?
- Mieux vaut faire un switch que plein de if à la suite, lorsque c'est possible.
Voici une version corrigé de ce que tu as fait, mais elle est encore améliorable (n'est pas gérer, les soucis d'entrée incorrect, comme "a + 6"):
#include
int main()
{
int nb1;
int nb2;
char signe;
int res;
std::cout << "Entrez les deux nombres et le signe en notation mathematique: " << std::endl;
std::cin >> nb1 >> signe >> nb2;
switch (signe)
{
case '+':
res = nb1 + nb2;
break;
case '-':
res = nb1 - nb2;
break;
case '*':
res = nb1 * nb2;
break;
case '/':
if (nb2 == 0)
{
std::cerr << "Division par 0 impossible" << std::endl;
return 1;
}
res = nb1 / nb2;
break;
default:
std::cerr << "Operande inconnue: " << signe << std::endl;
return 2;
}
std::cout << "Le resultat est: " << res << std::endl;
//system("PAUSE");
return 0;
}
________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfoliohttp://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question