Probleme ds un programme en C++

bonjour a tous,
voila j'ai un p'tit probleme sur un programme.
mon objectif est de développer un programme C++ permettant d'effectuer les quatre opérations de base (+-*/) sur des variables réelles double précision.
L'allure générale de l'ecran est
Saisir votre opération sous la forme: op1 opérateur op2
52.31+10.50
Le résultat: 52.31+10.50=62.81

et moi j'ai fais cela mais visual6.0 me dis que j'ai 15erreur et 1 warning. Mais je ne vois pas ou sont les erreurs. Si quelqu'un pourrai m'aider ce serait super cool merci d'avance.

Le programme fait:

#include <iostream>
#include <iomanip>
#include <math.h>

using namespace std;

void main(void)
{
int op1;
int op2;
char operateur;

cout<<"saisir op1: "<<ends;
cin>>op1;
cout<<"saisir op2: "<<ends;
cin>>op2;
cout<<"operateur: "<<ends;
cin>>operateur;

switch(operateur)
{
case +

cout<<"op1+op2= "<<ends;
break;

case -

cout<<"op1-op2= "<<ends;
break;

case *

cout<<"op1*op2= "<<ends;
break;

case /

cout<<"op1/op2= "<<ends;
break;

}
cout<<"résultat= "<<op1 operator op2<<endl;

}
}

9 réponses

  1. Deja j avoue ne pas voir en quoi consiste ton op1 operator op2 en dernier message ecran ? ....
    1. non mais ca je me suis tromper c'est op1 operateur op2 ceci permet d'afficher par exemple

      10 + 20 =30

      tu vois le truc mais je pense pas que l'erreur vien de la!!!!!!
    2. asdfffffffffaaaaaaaaaaaaaaa
  2. Contributeur
    salut, tout d'abords, enleves les ends, c'est endl (et ça tu devrais le remarquer non?)

    tafiscobar "lou waye def bopame"
    la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
    1. g regarder mé il ya encore 2 erreurs. regarde bien les syntaxes avant de taper c p^lus simple. jeaspere ke ca taidera.

      #include <iostream>
      #include <iomanip>
      #include <math.h>

      using namespace std;

      void main(void)
      {
      int op1;
      int op2;
      char operateur;

      cout<<"saisir op1: "<<endl;
      cin>>op1;
      cout<<"saisir op2: "<<endl;
      cin>>op2;
      cout<<"operateur: "<<endl;
      cin>>operateur;

      switch(operateur)
      {
      case '+':

      cout<<"op1+op2= "<<endl;
      break;

      case '-':

      cout<<"op1-op2= "<<endl;
      break;

      case '*':

      cout<<"op1*op2= "<<endl;
      break;

      case '/':

      cout<<"op1/op2= "<<endl;
      break;

      }
      cout<<"résultat= "<<op1 operator op2<<endl;

      }
      1. Hello !

        Programme qui marche :
        #include <iostream>
        
        int main()
        {
        	using namespace std;
        
        	int op1;
        	cout << "saisir op1: ";
        	cin >> op1;
        
        	int op2;
        	cout << "saisir op2: ";
        	cin >> op2;
        
        	char operateur;
        	cout << "operateur: ";
        	cin >> operateur;
        
        	int Resultat;
        	switch (operateur)
        	{
        	case '+':
        		Resultat = op1 + op2;
        		break;
        
        	case '-':
        		Resultat = op1 - op2;
        		break;
        
        	case '*':
        		Resultat = op1 * op2;
        		break;
        
        	case '/':
        		Resultat = op1 / op2;
        		break;
        	
        	default:
        		cerr << "operateur inconnu";
        		return -1;
        	}
        
        	cout << op1 << operateur << op2 << " = " << Resultat << endl;
        
        	return 0;
        }
        


        Take care !
        1. Salut!

          Tu fais comment tes tabulations horizontales je suis jaloux. :-P
      2. Avec la touche TAB.
        1. Bizarre avec moi ça me les oublie.

          	Peut être que comme ça?
      3. Hello again !

        Version plus "C++" où la "complexité" est encapsulée dans une classe wrapper qui permet d'utiliser des objets de l'utilisateur autres que int ou float :
        #include <iostream>
        
        template<class T>
        class operation
        {
        public:
        	explicit operation(char Code_operateur) : Op(0)
        	{
        		switch (Code_operateur)
        		{
        		case '+': Op = new add(); break;
        		case '-': Op = new sub(); break;
        		case '*': Op = new mul(); break;
        		case '/': Op = new div(); break;
        		}
        	}
        	
        	virtual ~operation()
        	{
        		delete Op;
        	}
        
        	virtual T operator()(T Op1, T Op2) const
        	{
        		if (Op) return (*Op)(Op1, Op2);
        		else	return Op1;
        	}
        
        protected:
        	operation() : Op(0) {}	
        
        private:
        	// operations :
        	class add : public operation
        	{ T operator()(T Op1, T Op2) const { return Op1 + Op2; } };
        
        	class sub : public operation
        	{ T operator()(T Op1, T Op2) const { return Op1 - Op2; } };
        
        	class mul : public operation
        	{ T operator()(T Op1, T Op2) const { return Op1 * Op2; } };
        
        	class div : public operation
        	{ T operator()(T Op1, T Op2) const { return Op1 / Op2; } };
        
        	// operation en cours :
        	operation* Op;
        
        	// methodes interdites :
        	operation(const operation&) : Op(0) {}
        	operation& operator=(const operation&) { return *this; }
        };
        
        int main()
        {
        	using namespace std;
        
        	int op1;
        	cout << "saisir op1: ";
        	cin >> op1;
        
        	int op2;
        	cout << "saisir op2: ";
        	cin >> op2;
        
        	char operateur;
        	cout << "operateur: ";
        	cin >> operateur;
        	cout << op1 << operateur << op2 << " = " << operation<int>(operateur)(op1, op2) << endl;
        
        	return 0;
        }


        Have fun !
        1. salut a toi,
          mais ton programme ne marche pas, il m'indique 2 erreurs à l'execution ou sont elle!!!!!