Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[Résolu]calculatrice simple choix multiple
Auteur Message
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Bonjour

je viens de faire ce petit script.
en recoupant des infos trouvées sur le net.
ce n'est pas un simple copié/collé d'un script trouvé.

ceci m'a permis de comprendre un peu mieux les choix multiples et le goto.

ipouvez vous me dire, s'il y a des choses à modifier?

Citation:


@echo off
rem dimmension et couleur de la console dos
mode con LINES=25 cols=62 | color 8f

echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º calculatrice simple º
echo º script by migau º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
rem : permet de revenir au debut
:debut
echo.
rem choix des oprations
echo a. addition
echo s. soustraction
echo m. multiplication
echo d. division
echo q. Quitter
set choice=
echo. & echo.
rem faire son choix
set /p choice=Quel est votre choix ?
echo. & echo.
rem si pas de choix if not, si choice est correct, on recupere la lettre la 1ere de l operation
if not '%choice%'=='' set choice=%choice:~0,1%

rem en fonction du choix , le goto me dirige vers l operation souhaitee
if '%choice%'=='a' goto addition
if '%choice%'=='s' goto soustraction
if '%choice%'=='m' goto multiplication
if '%choice%'=='d' goto division
if '%choice%'=='q' goto end
rem si le choix ne correspond pas aux 5 lettres a-s-m-d-q message d erreur
echo Le choix %choice% n'est pas valide.
echo.
rem si le choix n est pas valide, on revient au debut par le goto:top
goto debut
rem le choix a dirige vers l addition
:addition
echo addition
echo.
rem permet le choix des operateurs
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%+%operateur_2%
rem le resultat
echo La resultat de cette addition est egal a : %calcul%
echo. & echo.
goto fin

:soustraction
echo soustraction
echo.
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%-%operateur_2%
rem le resultat
echo La resultat de cette soustraction est egal a : %calcul%
echo. & echo.
goto fin

:multiplication
echo multiplication
echo.
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%*%operateur_2%
rem le resultat
echo La resultat de cette multiplication est egal a : %calcul%
echo. & echo.
goto fin

:division
echo division
echo.
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%/%operateur_2%
rem le resultat
echo La resultat de cette division est egal a : %calcul%
echo. & echo.
goto fin
rem fin et fermeture de la console
:fin
pause
exit




Dernière édition par migau le Ven 3 Déc 2010 - 21:39; édité 1 fois

______________________________________________________
à plus

migau
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Bonjour

des astuces :


Je remplacerai le mot choice par choix pourquoi car une commande choice existe en batch et c est pour éviter les bugs eventuels.

Code:
rem en fonction du choix , le goto me dirige vers l operation souhaitee
if '%choice%'=='a' goto addition
if '%choice%'=='s' goto soustraction
if '%choice%'=='m' goto multiplication
if '%choice%'=='d' goto division
if '%choice%'=='q' goto end


Ajout if /i cela permet de ne pas faire de différences en majuscule et minuscule.



pour gérer le non choix : regarde du coté de if not defined / if defined...

remplace ceci :

Code:
if not '%choice%'=='' set choice=%choice:~0,1%
rem si le choix ne correspond pas aux 5 lettres a-s-m-d-q message d erreur
echo Le choix %choice% n'est pas valide.
echo.
rem si le choix n est pas valide, on revient au debut par le goto:top
goto debut


par cela

Code:
if not defined "%choice%" goto erreur

:erreur
echo Le choix %choice% n'est pas valide.
pause
cls
goto debut




Dernière édition par Laddy le Mar 26 Oct 2010 - 14:10; édité 1 fois

______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Bonjour Laddy

Laddy a écrit:
Bonjour

des astuces :




merci pour tes corrections,

par contre ,j'ai un petit soucis

si l'user lorsqu'il fait son choix de l'opération, met un espace avant de tabuler la lettre ça ne marche pas, l'espace est pris en compte
la console se ferme, ça ne vient pas sur le message d'erreur

Code:

rem faire son choix
set /p choix=Quel est votre choix ?


y a t'il une parade, un commutateur set /p /x ou /y qui dirait ne pas tenir compte des espaces
lors des tabulations?

si oui, laisse moi chercher, indique moi seulement que ça existe.
et si je ne trouve pas , je reviendrai vers toi.

merci pour ta patience




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
pourqoi ne pas gerer la posibilitee du choix avec espace ?
il te suffirait de renvoyer le user a :erreur
sinon il faut savoir que les disions en batch amene a un resultat tronqué, ainsi 4/5=0
demande a stryk il a trouve une solution a ce probleme et je suis sur kil taidera



Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Guerrion24 a écrit:
pourqoi ne pas gerer la posibilitee du choix avec espace ?
il te suffirait de renvoyer le user a :erreur
sinon il faut savoir que les disions en batch amene a un resultat tronqué, ainsi 4/5=0
demande a stryk il a trouve une solution a ce probleme et je suis sur kil taidera


hello

ok, je vais chercher pour gerer avec un espace : erreur

pour les divisions avec décimales, il y a un tuto sur le forum, mais je n'ai rien pigé.

merci pour ton aide.

bonne soirée




______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Migau poste ton code corrigé pour que je puisse mieux t'aider.




______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Laddy a écrit:
Migau poste ton code corrigé pour que je puisse mieux t'aider.


hello Laddy

merci pour ton aide

Code:

@echo off
rem dimmension et couleur de la console dos
mode con LINES=25 cols=62 | color 8f

echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
echo º     calculatrice simple     º
echo º      script by migau        º
echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
rem : permet de revenir au debut
:debut
echo.
rem choix des opérations
echo a. addition
echo s. soustraction
echo m. multiplication
echo d. division
echo q. Quitter
set choix=
echo. & echo.
rem faire son choix
set /p  choix=Quel est votre choix ?
echo. & echo.

rem en fonction du choix , le goto me dirige vers l'opération souhaitée
if /i '%choix%"=="a"goto addition
if /i '%choix%"=="s" goto soustraction
if /i '%choix%"=="m" goto multiplication
if /i '%choix%"=="d" goto division
if /i '%choix%"=="q" goto fin

rem si le choix ne correspond pas aux 5 lettres a-s-m-d-q message d erreur
rem echo Le choix %choix% n'est pas valide.
rem si le choix n est pas valide, on revient au debut par le goto:debut

if not defined "%choix%" goto erreur
:erreur
echo Le choix %choix% n'est pas valide.
pause
cls
goto debut
rem le choix a dirige vers l addition
:addition
echo addition
echo.
rem permet le choix des operateurs
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%+%operateur_2%
rem le resultat
echo La resultat de cette addition est egal a : %calcul%
echo. & echo.
goto fin

:soustraction
echo soustraction
echo.
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%-%operateur_2%
rem le resultat
echo La resultat de cette soustraction est egal a : %calcul%
echo. & echo.
goto fin

:multiplication
echo multiplication
echo.
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%*%operateur_2%
rem le resultat
echo La resultat de cette multiplication est egal a : %calcul%
echo. & echo.
goto fin

:division
echo division
echo.
set /p operateur_1=1-chiffre :
echo.
set /p operateur_2=2-chiffre :
echo.
rem le calcul en lui même
set /a calcul=%operateur_1%/%operateur_2%
rem le resultat
echo La resultat de cette division est egal a : %calcul%
echo. & echo.
goto fin
rem fin et fermeture de la console
:fin
pause
exit


bon après midi



Dernière édition par migau le Mer 27 Oct 2010 - 05:56; édité 2 fois

______________________________________________________
à plus

migau
Visiter le site web du posteur
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Re,
oups je n'avais pas vu
en batch il faut utiliser des doubles " " autour des variables les simples étant réservé à l'execution d'une commande dans une boucle for.


Citation:

if /i "%choix%"=="a" goto addition
if /i "%choix%"=="s" goto soustraction
if /i "%choix%"=="m" goto multiplication
if /i "%choix%"=="d" goto division
if /i "%choix%"=="q" goto fin

if not defined "%choix%" goto erreur





______________________________________________________
Faites paraitre votre batch sur BatchClipboard
Visiter le site web du posteur
Répondre en citant
Message [Résolu]calculatrice simple choix multiple 
Laddy a écrit:
Re,
oups je n'avais pas vu
en batch il faut utiliser des doubles " " autour des variables les simples étant réservé à l'execution d'une commande dans une boucle for.



Bonsoir Laddy

merci pour ton aide.

bonne soirée




______________________________________________________
à plus

migau
Visiter le site web du posteur
Message [Résolu]calculatrice simple choix multiple 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch