Salut tt le monde,je veuc juste savoir est ce que ce programme est juste,il s'agit d'un programme qui calcule la somme ou bien la soustraction oi bien la multiplication ou bien la division,sans tenir compe de la division par 0
Salut tt le monde,je veuc juste savoir est ce que ce programme est juste,il s'agit d'un programme qui calcule la somme ou bien la soustraction oi bien la multiplication ou bien la division,sans tenir compe de la division par 0
Bonjour,
Première chose, il faut mettre ton code dans une balise code (le # de l'éditeur), avec une image c'est illisible.
Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
Mon article sur le P2V, mon article sur le cloud
Consultez nos FAQ : Windows, Linux, Virtualisation
Bonjour,
Ton code est plutôt bien écrit. Il ne devrait cependant pas fonctionner, car ligne 14 on ne peut pas lire simplement un caractère après avoir lu des nombres.
Il faudrait juste avant "vider le buffer d'entrée de cin" en faisant std::cin.ignore(std::numeric_limits<std::streamsize>::max()); et mettre au début du code #include <limits>, pour pouvoir accéder à numéric_limits.
Heureusement que si. Les flux s'arrêtent au premier caractère invalide du type demandé. Dans l'expression "42+13" avec std::cin >> x >> c >> y;, "+" est le caractère d'arrêt pour la lecture de x. Il sera lut pour c et le reste ("13") placé dans y.
Il y a aussi un filtre des espaces blancs avant lecture, ce qui permet d'avoir le même résultat avec " 42 + 13" ou "42\n +\n 13".
Voila mon code bien lisible,en fait jai compile ce code a l'aide de g++ dans cmd,et il est bien execute sana erreur,ce que je demande est ce que le return que jai utiliser pour chaque cas du switch est valide,autrement dis est ce que cest pas la peine de declarer une variable resultat par exemple est affecter a chaque cas du switch la valeur qui va etre reteurner a la fin du switch
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 # include <iostream > using namespace std ; double calcule ( double , double , char); int main() { double a,b; cout << "Entrer deux nombre : " ; cin >> a >> b ; char c ; cout << " Choisir l'operation que vous voulez effectuer : " << endl << " + pour l'addition."<< endl << " - pour la soustraction."<< endl << " * pour la multiplication."<< endl << " / pour la division."<< endl; cin >> c ; if (( c != '+' ) and ( c != '*' ) and ( c != '-' ) and ( c != '/' )) c = '+'; cout << a << c << b << " = " << calcule(a,b,c) << endl; return 0; } double calcule( double x,double y,char z){ switch (z) { case '+': return x+y; case '-': return x-y; case '*': return x*y; case '/': return x/y; default : return x+y; } }
Merci pour l'aide.
Le code de la fonction est tout à fait valide. On préfère normalement éviter d'avoir plusieurs return dans une même fonction, mais ici la fonction est particulièrement claire.
ok,Merci enormement pour votre aide
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager