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
| #include "stdafx.h"
#include <string>
// Déclaration des chaines
char szCalcul[50]; // Chaine stockant l'opération
// Membres de l'opération
float flNombre1 = 0.0f;
float flNombre2 = 0.0f;
// Prototype
float flExecute( int iType, float flNombre1, float flNombre2 );
int main(int argc, char* argv[])
{
// Boucle infinie
while( 1 )
{
// On récupère l'opération
fgets(szCalcul, sizeof(szCalcul),stdin);
// On récupère les caractères numériques
flNombre1 = atof(szCalcul); // Premier membre
flNombre2 = 6.0f; // Deuxième membre
// On détermine l'opérateur en le cherchant dans la chaine
if ( strstr( szCalcul, "+" ) ) // Addition
{
flExecute(1,flNombre1,flNombre2);
}
else if ( strstr( szCalcul, "-" ) ) // Soustraction
{
flExecute(2,flNombre1,flNombre2);
}
else if ( strstr( szCalcul, "*" ) ) // Multiplication
{
flExecute(3,flNombre1,flNombre2);
}
else if ( strstr( szCalcul, "/" ) ) // Division
{
flExecute(4,flNombre1,flNombre2);
}
else if ( strstr( szCalcul, "about") ) // Informations sur la super-calculette
{
printf("Simple calculatrice pouvant gerer 2 membres\nainsi que les 4 operations basiques (+,-,*,/).\n\n");
}
else
{
printf("Erreur: Operateur/Commande inconnu(e)\n"); // Opérateur alien
}
}
return 0;
}
float flExecute( int iType, float flNombre1, float flNombre2 ) // Super-fonction :x
{
float flResultat = 0.0f;
switch( iType )
{
case 1:
flResultat = flNombre1+flNombre2;
break;
case 2:
flResultat = flNombre1-flNombre2;
break;
case 3:
flResultat = flNombre1*flNombre2;
break;
case 4:
flResultat = flNombre1/flNombre2;
break;
default:
printf("Erreur: Operation inconnue");
break;
}
printf(" %2.2f \n\n", flResultat);
return flResultat;
} |
Partager