Probleme ds un programme en C++

watcher69 Messages postés 48 Statut Membre -  
watcher69 Messages postés 48 Statut Membre -
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. julien
     
    Deja j avoue ne pas voir en quoi consiste ton op1 operator op2 en dernier message ecran ? ....
    0
    1. watcher69 Messages postés 48 Statut Membre 2
       
      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!!!!!!
      0
    2. asdffff
       
      asdfffffffffaaaaaaaaaaaaaaa
      0
  2. tafiscobar Messages postés 1281 Statut Contributeur 177
     
    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!!!
    0
  3. fleasfan Messages postés 12 Statut Membre
     
    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;

    }
    0
  4. watcher69 Messages postés 48 Statut Membre 2
     
    merci bien pour la reponse
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Jolkdarr
     
    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 !
    0
    1. Guki
       
      Salut!

      Tu fais comment tes tabulations horizontales je suis jaloux. :-P
      0
  7. watcher69 Messages postés 48 Statut Membre 2
     
    merci bien pour ce programme!!!!!
    0
  8. Jolkdarr
     
    Avec la touche TAB.
    0
    1. Guki
       
      Bizarre avec moi ça me les oublie.

      	Peut être que comme ça?
      0
  9. Jolkdarr
     
    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 !
    0
  10. watcher69 Messages postés 48 Statut Membre 2
     
    salut a toi,
    mais ton programme ne marche pas, il m'indique 2 erreurs à l'execution ou sont elle!!!!!
    0