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
|
#define ADDITION 0
#define SOUSTRACTION 1
#define DIVISION 2
#define MULTIPLICATION 3
.....
Fonction ( ..... )
{
.....
double Var1, Var2 ;
double Resultat ;
/* Ici tu rentres ta chaine, et tu fais une petite analyse,
en faisant une petite structure pour décrire une opération.
Par exemple :
typedef struct Poper {
int Type ;
int Ordre ;
double Var1 ;
double Var2 ;
} Operation ;
Tu peux faire un tableau de ces structures.
L'ordre est déterminé par le nombre de parenthèses ouvrantes
qu'il t'a fallu traverser pour aller jusque là.
Par contre, ensuite, il faut les trier.
*/
/ * Et ensuite tu boucles */
for ( i = 0 ; i < NOperations ; i++ )
{
switch ( Operations[i].Type )
{
case MULTIPLICATION :
Resultat = Operations[i].Var1 * Operations[i].Var2 ;
break ;
.....
}
} |
Partager