Bonjour,
J'ai un souci, j'ai essayé de me renseigner sur les différentes sources mais pas trouvé.
Je fais un programme me permettant de calculer les opérations arithmétiques, le code utilise les piles;
*L'utilisateur enregistre les valeurs,
*ensuite on les lit a l'envers apres les avoirs empilées,
*Puis si on trouve un opérateur quand on depile on calcul
Mon problème est que je ne sais pas comment tranformé l'operateur (+,-,/,*) qui est en char en un format convenable voila le code auriez vous une solution ou plutot un chemin a suivre car je ne vois pas.
/********************************************************************************/
/* Objet : Fonction d'expression d'évaluation arithmetique */
/********************************************************************************/
void Algorithme(){
Pile *pP;
Donnee Don1, Don2;
char *tab;
int i, j;
float x;
puts("Veuillez entrer un operation arithmetique");
scanf("%s", tab); getchar();
pP=Initialisation();
for(i=0; tab[i]!='\n';i++){}
for(j=i; j>0 ;j--){
if(tab[j]!= '+' || tab[j]!= '-' || tab[j]!= '*' || tab[j]!= '/')
Empile(*pP, x=(float)(tab[j]));
else if(tab[j]== '+' || tab[j]== '-' || tab[j]== '*' || tab[j]== '/'){
Depile(&pP, &Don1);
Depile(&pP, &Don2);
Don1=Don1 tab[j] Don2; // Comment modifié le tab[j]
Empile(&pP, &Don1);
}
}
Suppression(&pP);
}
Merci