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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| #include "Calculatrice.h"
#include <math.h>
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <string.h>
void Operation::Operation(){
Nb_Gch = 0; Nb_Drt = 0;
Histo_Op = NULL;
}
double Operation::Calculer(double n1, char *op, double n2){
char Plus[2] = "+";
char Moins[2] = "-";
char Mult[2] = "*";
char Div[2] = "/";
char Puis[2] = "^";
char Racine[2] = "r";
char Pour100[2] = "%";
char LogNep[3] = "ln";
char Log10[4] = "log";
if(strcpy(Op, Plus) == 0) return (n1+n2);
else
if(strcpy(Op, Moins) == 0) return (n1-n2);
else
if(strcpy(Op, Mult) == 0) return (n1*n2);
else
if(strcpy(Op, Div) == 0) return (n1/n2);
else
if(strcpy(Op, Puis) == 0) return (pow(n1, n2));
else
if(strcpy(Op, Pour100) == 0) return ((n1*n2)/100);
else
if(strcpy(Op, Racine) == 0){
if(n2==2) return (sqrt(n1));
else{
printf("\nRacine non encore implémetée"); return 0;
}
}
else{
printf("%s n'est pas un opérateur valide.", op);
return 0;
}
}
int main(){
double n1=0, n2=0, resultat=0;
char op[2];
Operation *Ptr = new Operation;
printf("OPERATION : "); scanf("%lf%s%lf", &n1, op, &n2);
resultat = Ptr->Calculer(n1, op, n2);
system("cls");
printf("%.2lf %s %.2lf = %.2lf", n1, op, n2, resultat);
delete(Ptr);
printf("\nTapez sur une touche pour quitter le programme."); getch();
} |
Partager