RESOLUTION D'EQUATION GENRE : 2*(3*5+9*PI)/2+3^6

cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 - 26 mars 2002 à 11:07
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 - 9 avril 2004 à 20:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/2869-resolution-d-equation-genre-2-3-5-9-pi-2-3-6

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
9 avril 2004 à 20:49
Ben là, tu m'en bouches un coin.
Je pensais bien connaître SQL (Oracle, Sql Server,...) mais il est vrai que les bases de données, pour moi, ne sont que des récipients de données qu'on interroge avec SQL via ODBC ou autre et que j'ai plus l'habitude d'Oracle, dBase, Access, Informix.
Maintenant que tu le dis, ça me fait penser à une conversion d'une table en fichier texte ou à un fichier utilisé pour des mailings sous Word.
J'ai la honte de ne pas y avoir pensé avant !!!

Cordialement
Olilefou Messages postés 29 Date d'inscription mercredi 1 août 2001 Statut Membre Dernière intervention 9 décembre 2005
9 avril 2004 à 20:05
Si tu connais les base de données et le SQL, ce code est évident.

Le fichier dual.dat simule une table de base de données. Il doit contenir 2 lignes, la premiere est le nom des 'constantes', la deuxieme est la valeur. Il doit y avoit au moins une colone pour que la 'table' retourne une réponse.

Non, je ne bosse pas pour bill, je suis a mon compte.
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
9 avril 2004 à 19:31
<Olilefou>
C un peu ce que je pensais aussi.

De toute, c quand même très bien. Ca évite de se casser le chou pour des expressions mathématiques de base.

Par ex, avec ton code, pas de problème avec le "bégaiement" de la barre d'espace. J'ai vu ici-même des codes qui plantaient si on faisait 2+ 5 (avec 2 espaces entre + et 5) ou avec -(-2+(-1)), sans parler de la gestion des parenthèses et priorités. Je m'étais aussi lancé dans un évaluateur en VB il y a un moment et je sais que c une prise de tête, en C/C++ c'est un peu + simple.

Pour finir, j'ai 2 questions :
- Le fichier dual.dat, je sais qu'on peut changer le nom, du moment qu'on le change dans le code aussi. On peut même le recréer avec le notepad. Mais son contenu doit apparemment rester le même. Ne pourrait-on pas y rajouter des lignes ou les modifier pour résoudre un peu plus d'expressions ? En fait, ce qui m'intrigue c comment ça peut fonctionner et si c'est vraiment portable ! Scuses, suis pas très balaise en µsoft.
- Tu bosses chez µsoft pour connaître ce truc ?

Cordialement
Olilefou Messages postés 29 Date d'inscription mercredi 1 août 2001 Statut Membre Dernière intervention 9 décembre 2005
9 avril 2004 à 17:39
Normal, c'est des opérations sur les octets et pas sur les bits,
3=true, 1=true, donc 3 or 1 = true, true=-1, donc 3 or 1 = -1

Il y a quelques autres petites restrictions par rapport au VB (ex: Replace ne passe pas).
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
9 avril 2004 à 16:32
<Olilefou>
exemples :

3 or 1 = -1 au lieu de 3
3 xor 1 = 0 au lieu de 2
3 and 2 = -1 au lieu de 2
Olilefou Messages postés 29 Date d'inscription mercredi 1 août 2001 Statut Membre Dernière intervention 9 décembre 2005
9 avril 2004 à 16:20
CanisLupus> Les opérations logiques sont bien gérées si elle son bien saisie. Donne-moi des exemples.
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 21
9 avril 2004 à 15:34
Alors là, bravo pour la simplicité. Il fallait y penser.

Toutefois, les opérateurs logiques ne sont pas gérés ou mal.
Mais, pour les expressions math, c plus sûr que d'analyser une chaine de caractères.
cs_Warning Messages postés 516 Date d'inscription samedi 3 février 2001 Statut Membre Dernière intervention 24 octobre 2006 2
26 mars 2002 à 11:07
Merci pour la pub.
Rejoignez-nous