Probleme avec C++
Résolu
silentwar
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
-
silentwar Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
silentwar Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai un probleme avec mon code , j'ai comme resultat toujours 1 meme si j'entre n'importe quel nombre , Merci en avance pour votr aide :
Mon code :
#include <iostream>
using namespace std;
float oper ( float n1,float n2,char op)
{float resultat ;
switch (op)
{
case '+': {
resultat = n1+n2;
break ;
}
case '-':
{
resultat = n1-n2;
break;
}
case '*':
{
resultat = n1*n2;
break;
}
case '/':
{
resultat = n1/n2;
break;
}
default :
{
resultat = n1+n2;
break;
}
}
}
int main()
{
float oper ( float ,float ,char );
float t, h ;
char o ;
cout <<"n1 svp\n";
cin >>t ;
cout <<"n2 svvp\n";
cin >>h;
cout <<"op\n";
cin >> o ;
oper(t,h,o);
cout <<oper<<endl;
}
j'ai un probleme avec mon code , j'ai comme resultat toujours 1 meme si j'entre n'importe quel nombre , Merci en avance pour votr aide :
Mon code :
#include <iostream>
using namespace std;
float oper ( float n1,float n2,char op)
{float resultat ;
switch (op)
{
case '+': {
resultat = n1+n2;
break ;
}
case '-':
{
resultat = n1-n2;
break;
}
case '*':
{
resultat = n1*n2;
break;
}
case '/':
{
resultat = n1/n2;
break;
}
default :
{
resultat = n1+n2;
break;
}
}
}
int main()
{
float oper ( float ,float ,char );
float t, h ;
char o ;
cout <<"n1 svp\n";
cin >>t ;
cout <<"n2 svvp\n";
cin >>h;
cout <<"op\n";
cin >> o ;
oper(t,h,o);
cout <<oper<<endl;
}
2 réponses
Ce n'est pas vraiment avec C++ qu'il y a un problème !
2 erreurs majeures:
- ta fonction 'float oper...' ne retourne rien; ce n'est pas parce que la variable s'appelle 'resultat' que la valeur de cette variable sera retournée à l'appellant; il est donc indispensable de terminer la fonction par:
2 erreurs majeures:
- ta fonction 'float oper...' ne retourne rien; ce n'est pas parce que la variable s'appelle 'resultat' que la valeur de cette variable sera retournée à l'appellant; il est donc indispensable de terminer la fonction par:
return resultat;- dans le 'main' tu appelles la fonction 'oper' sans te préoccuper de la valeur retournée... ce qui ne sert, dans le cas présent, strictement à rien. Par contre, dans la ligne suivante, tu crois appeller la fonction 'oper', mais sans parenthèses la fonction n'est pas appellée; d'ailleurs le compilateur, si tu lui demandes de te retourner les 'warning' doit te l'indiquer. Donc il te faut écrire:
cout << oper(t, h, o) << endl;Bonne continuation.