#include #include #include "ex3/Addition.cpp" #include "ex3/Soustraction.cpp" #include "ex3/Multiplication.cpp" #include "ex3/Division.cpp" #include "ex3/DivisionEuclidienne.cpp" using namespace std; int main(){ int choix(0); /* [1] On initialise les operations =========================================================*/ Operator *operations[5]; // On ajoute les operations; operations[0] = new Addition(); operations[1] = new Soustraction(); operations[2] = new Multiplication(); operations[3] = new Division(); operations[4] = new DivisionEuclidienne(); int nbOp = sizeof(operations)/sizeof(Operator*); /* [2] Choix de l'operation a executer =========================================================*/ do{ cout << " +-------------------------+" << endl; for( int i = 0 ; i < nbOp ; i++ ) cout << " + " << i << ") " << operations[i]->getLibelle() << endl; cout << " +-------------------------+" << endl; cout << " + Choix: "; cin >> choix; cout << endl << endl; }while( choix < 0 || choix >= nbOp ); /* [3] On recupere les operandes pour le calcul =========================================================*/ float scanner; int countOp(0); while( operations[choix]->missingOperand() ){ cout << "x" << countOp << " = "; cin >> scanner; cout << endl; operations[choix]->addOperand(scanner); countOp++; } float* result = operations[choix]->calc(); for( int i = 0 ; result[i] != '\0' ; i++ ) cout << "y" << i << " = " << result[i] << endl; return 0; }