Bonsoir, j'ai un petit souci avec un programme que je tape pour dessiner des courbes mathématiques...
Ca se passe dans le fichier qui traite l'interface, je déclare une nouvelle fonction mais le Borland compiler me renvoie sans cesse qu'il y a une erreur de syntaxe de déclaratiobn pourtant j'ai mon accolade.
Voila la partie du code qui merde :
AnsiString Fct = BoiteDialogueAcquisitionCourbe->EditFonction->Text ;
double EvaluerOperande(AnsiString Fct,double x,int debut,int fin)
//fonction qui évalue en un x donné l'AnsiString Fct contenant une expression
{
if (Fct[debut]=='x')
return x;
else
{ AnsiString ch=Fct.SubString(debut,fin-debut+1);
double y=StrToFloat(ch);
return y;
}
}
J'ai vérifié le compte d'accolades et parenthèses dans la partie interface, c'est normal, je sais plus trop quoi en penser, quelqu'un aurait une petite idée ?
A vue de nez en quinze secondes (pas le temps de tester de suite, mais si ce n'est pas ça, je m'y replonge tout à l'heure...), je pense que ça cloche là (au moins) :
Citation :
if (Fct[debut]=='x')
return x;
else
Le point-virgule termine le test, donc le else est incorrect. A changer en :
Heu cette syntaxe me semble correcte pour un if (enfin j'utilise pas Borland, mais je doute que ce soit différent pour ce genre de choses).
edit : correction, heu si maintenant que j'y pense, pour le else il vaut mieux metttre des accolades... re-edit : tiens marrant je viens de faire le test, sous Visual il se débrouille très bien, même sans accolades.
La seule chose que j'ai remarquée, pareil en quelques secondes, c'est la présence du #endif alors que j'ai pas trouvé le #ifndef (ou ifdef)... mais c'est sûrement à cause du copier-coller ?
eh Nico13! c'est bidon en réalité d'encoder les divx, faut juste que tu chopes les codecs, tu lances ta conversion de divx, la il te dit que c'est pas possible et te propose d'aller sur le site pour telecharger les codecs, tu cliques et tu telecharges les codecs et apres,c'est niquel !
Oui j'essaie d'écrire un logiciel de fonction mais c'est pas gagné...
Chaque fois que je joue à ce jeu, je regrette une fonction du Basic Microsoft 1.0 : CRUNCH$...
10 INPUT A$
20 FOR X FROM 0 TO 100
30 PRINT VAL(CRUNCH$(A$))
40 NEXT X
Et voilà un logiciel qui demande d'entrer une fonction au clavier et affiche sont tableau de variation (c'est une fonction qui évalue une chaîne contenant une expression mathématique en utilisant le contexte courant du programme, c'est absolument génial, même si c'est une faille de sécurité monstrueuse).