Probléme Calculatrice BATCH

Fermé
YCC - 9 mai 2013 à 20:09
Quester4 Messages postés 134 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 juillet 2013 - 10 mai 2013 à 15:51
Bonjour, Pourquoi ma Calculatrice ne fonctionne pas ?
Un Message me dit: " [l Manque un Opérande "
Voila le code:

@echo off
title Calculatrice
color F
echo [1] Addition
echo [2] Soustraction
echo.
set /p choix=Votre Choix:
if %choix%==1 (
:debut
set /p A=Entrer le nombre A:
set /a A=%A%

set /p B=Entrer le Nombre B:
set /a B=%B%

set /a fin=%A%+%B%
echo %A% + %B% = %fin%
pause>nul
cls
goto debut
)
if %choix%==2 (
:debut2
set /p A=Entrer le nombre A:
set /a A=%A%

set /p B=Entrer le Nombre B:
set /a B=%B%

set /a fin=%A%-%B%
echo %A% - %B% = %fin%
pause>nul
cls
goto debut2
)

Merci D'avance.




A voir également:

1 réponse

Quester4 Messages postés 134 Date d'inscription mercredi 8 février 2012 Statut Membre Dernière intervention 18 juillet 2013 125
10 mai 2013 à 15:51
Bonjour,

Voici un code plus propre :
@echo off
title Calculatrice
color F

echo [1] Addition
echo [2] Soustraction
echo.
set /p choix=Votre Choix : 
if "%choix%"=="1" goto :addition
if "%choix%"=="2" goto :soustraction

:addition
set /p A=Entrer le nombre A : 
set /p B=Entrer le Nombre B : 
set /a fin=%A%+%B%
echo %A% + %B% = %fin%
pause>nul
cls
goto addition

:soustraction
set /p A=Entrer le nombre A : 
set /p B=Entrer le Nombre B : 
set /a fin=%A%-%B%
echo %A% - %B% = %fin%
pause>nul
cls
goto soustraction

Je ne vois pas dans celui-ci ce qui n'est pas censé fonctionner.

Dans le tien, la définition de %A% et de %B% comme étant eux-même, c'est assez étrange, et probablement inutile... Et ce qui doit provoquer l'erreur, c'est surtout les set /a, que tu utilises sans avoir de calcul. Autant utiliser set sans arguments... Mais mieux vaut même ne pas faire cette étape, étant donné que c'est inutile de définir une variable par elle-même.

Ensuite, il y a les labels et les goto à l'intérieur de conditions If, ce n'est pas normal. Fais plutôt en sorte que la condition fasse un goto, plutôt que d'y intégrer les fonctions. D'ailleurs, pour le bon fonctionnement des If, il est préférable de mettre des guillemets (comme je l'ai fait dans ce code).
0