j'ai un souci avec un programme que j'ai crée, mon problème est plus précisément dans une fonction de calcul formel pour des formules complexes (comme je suis un étudiant en Génie civil = Génie calcul) j'ai besoin de répété ce genre d'opération très souvent
alors j'ai crée une fonction (void formule(char *form)) qui reçoit la formule a calculer "quelque soit sa complexité" en chaîne de caractères
et la transforme en une expression dans le estack avec le (push_parse_text (form)) pour l'afficher en pretty print jusqu’à ici tout ce passe bien..ma fonction prend la formule et l'affiche en pretty print, sauf que je dois par la suite remplacer les variables de cette formule par leur valeurs (i.e X^2/(Y+3) doit afficher si X=1 et Y=2 : 1^2/(2+3)) mais quand j'affecte a mes variables X et Y des valeurs en C (i.e int X=2) cela ne change rien dans ma formule et mon programme affiche (X^2/(Y+3))
en gros je veux que cette fonction affiche la formule avec les variables, ensuite avec les variables "remplacer avec leurs valeurs", pour finir et afficher le résultat final. mais je suis coincé, j'ai lu toute les documentation de TIGCC j'ai rien compris pratiquement les tuto ne parle pas de ça je suis confus aidez moi SVP
Voila le code de ma fonction :
- Code: Tout sélectionner
void formule(char *form)
{
int pos=0,key=0 ;
TRY
// affichage de la formule ////////////////
do
{
push_parse_text (form);
WinClr (DeskTop);
Print2DExpr (Parse2DExpr (top_estack, FALSE), DeskTop, pos, 50);
key = ngetchx();
if (key ==344)
pos = pos-40;
if (key ==338)
pos = pos+40;
}
while (key != 264);
// calcule numerique /////////////////////////////
//je ne sais pas quoi ecrire ici :(
ONERR
DrawStr (20, 20, "Error!", A_NORMAL);
ENDTRY
}
ps: j'ai une TI 89 Titanium (et excuser ma façon de s'exprimer je suis nouveau sur le forum)