Bon exemple de calculatrice

Messages postés
13397
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 juin 2019
- - Dernière réponse : pascal16m
Messages postés
62
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
12 juin 2019
- 12 juin 2019 à 21:41
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

http://codes-sources.commentcamarche.net/source/102400-bon-exemple-de-calculatrice

Afficher la suite 
pascal16m
Messages postés
62
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
12 juin 2019
-
Wello,
je trouve le code multi-interface très cool m^me si la saisie en mode de commande est pas user friendly.

La saisie par caractère, ça donne des nombres très bizarres, du genre 4.6649999997 au lieu de 4.6645

Coté programmation, la sélection de la touche ne fait pas la différence entre un opérateur et un chiffre, si on rajoute des boutons on va toujours essayer de les comprendre comme un chiffre. Quand aux exceptions, pour moi, ce ne sont que des infos, pas des exceptions système (très lourdes car gérée comme telles par windows et planter le programme).
Whismeril
Messages postés
13397
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 juin 2019
279 > pascal16m
Messages postés
62
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
12 juin 2019
-
Bonsoir
m^me si la saisie en mode de commande est pas user friendly.

Le but étant de montrer un code réutilisable, je ne me suis pas attardé sur le user-friendly.

La saisie par caractère, ça donne des nombres très bizarres, du genre 4.6649999997 au lieu de 4.6645
ça n'est pas un nombre très bizarre, c'est un nombre à virgule flottante à double précision. 4.6645 n'existe pas en double, pour le voir tel quel, il faut utiliser un artifice d'affichage (un arrondi par exemple)
Plus de détails dans cette discussion https://www.commentcamarche.net/forum/affich-35846831-erreur-de-calcul#3 (pas seulement ma réponse, mais celles de Dalfab et Revivax aussi)

Coté programmation, la sélection de la touche ne fait pas la différence entre un opérateur et un chiffre, si on rajoute des boutons on va toujours essayer de les comprendre comme un chiffre.

Je ne comprends pas ce que tu veux dire, tu as trouvé un bug?
J'ai écrit ce code en quelques heures, l'ai testé comme j'ai pu et corrigé les bugs que j'ai trouvé, mais s'il en reste peux tu les décrire.
Si ce n'est pas ça peux tu être plus explicite?

Quand aux exceptions, pour moi, ce ne sont que des infos, pas des exceptions système (très lourdes car gérée comme telles par windows et planter le programme).
Il est évident que traiter les "erreurs" de saisie autrement que par des exceptions serait bien mieux:
-valeur de retour sur les méthodes
-message
-etc...
Mais là encore, ce n'était pas le but, ce qui est traité par une exception est en dehors du champs de l'exemple que je souhaitais montrer.
pascal16m
Messages postés
62
Date d'inscription
jeudi 19 juin 2003
Statut
Membre
Dernière intervention
12 juin 2019
-
Wello,
VS s'améliore, hier je ne pouvais pas ouvrir l'interface winform, aujourd'hui je peux (pas mal de bugs dans la version 2019 avec de fausses erreurs signalées qui disparaissent ensuite, la gestion 'en tâche de fond' a pas l'air top).

je parlais du "default: calc.SaisieChiffre(texte);" dans le WPF

Si, par évolution, un bouton renvoie une mauvaise valeur, la valeur sera interprétée comme un chiffre qui générera une erreur à un niveau différent du programme. C'est juste pour générer l'erreur au bon niveau.



pour "du genre 4.6649999997 au lieu de 4.6645 "
c'est quand on continue que ça ressemble bugger car toutes les décimales bougent, ce qui me semble bizarre.
essaies avec 0 . 1 2 3 4 5 6 7 8 9 1 2 3
quand on tape le second 1, ça bug il me semble
Commenter la réponse de Whismeril