Rechercher : dans
Par :

Batch boucle if

Dernière réponse le 18 déc 2008 à 20:58:52 F41NT, le 6 nov 2008 à 23:47:01 
 Signaler ce message aux modérateurs

Bonjour,
J'ai creer un petit script en batch que j'avais fait en bash. Cependant celui-ci ne marche pas. Il me semble etre tres pres du but.. il y a t-il une personne qui sache la reponse?
merci.
voila le script:
@echo off

set /p nombre_entre_par_user=Quel est le nombre mystere ?

set variable=%random%

if /I (%nombre_entre_par_user%)LSS(%random%)(goto :A)

if /I (%nombre_entre_par_user%)GTR(%random%)(goto :B)

if /I (%nombre_entre_par_user%)EQU(%random%)(goto :C)


:A
echo "Le nombre mystere est plus grand."

:B
echo "Le nombre mystere est plus petit."

:C
echo "Vous avez trouver le nombre mystere."

echo.

pause

Configuration: Windows XP
Firefox 3.0.3

Meilleures réponses pour « batch boucle if » dans :
Portabiliser une application avec le Batch VoirI) Introduction II) Sauvegarde des paramètres III) Portabilisation (Création du Batch) Autres Liens I) Introduction Voici un tutoriel vous permettant de suivre pas à pas la création d’un lanceur facilement pour une application qui n’est...
Langage C++ - Les structures conditionnelles VoirQu'est-ce qu'une structure conditionnelle ? On appelle structure conditionnelle les instructions qui permettent de tester si une condition est vraie ou non. Ces structures conditionnelles peuvent être associées à des structures qui se répètent...

1

cchristian, le 7 nov 2008 à 00:31:42

Bonsoir,

Voici une version qui fonctionne chez moi Windows XP:

@echo off
cls
set /p nombre_entre_par_user=Quel est le nombre mystere ?

set variable=%random%

if /I %nombre_entre_par_user% LSS %random% (goto :A)

if /I  %nombre_entre_par_user% GTR %random% (goto :B)

if /I  %nombre_entre_par_user% EQU %random% (goto :C)


:A
echo "Le nombre mystere est plus grand."
goto :EOF

:B
echo "Le nombre mystere est plus petit."
goto :EOF

:C
echo "Vous avez trouver le nombre mystere."

goto :EOF
Cordialement.

Cchristian.

Répondre à cchristian

2

NikoDinaz, le 17 déc 2008 à 13:59:00

Personnellement , je ferais une boucle sinon je ne vois pas trop l'interet :
(mettre random dans variable pour ensuite tester random ??... je ne comprends pas trop)
@echo off

set variable=%random%

:DEBUT

set /p nombre_entre_par_user=Quel est le nombre mystere ?

if /I %nombre_entre_par_user% LSS %variable% (goto :A)
if /I %nombre_entre_par_user% GTR %variable% (goto :B)
if /I %nombre_entre_par_user% EQU %variable% (goto :C)

:A
echo "Le nombre mystere est plus grand."
goto DEBUT

:B
echo "Le nombre mystere est plus petit."
goto DEBUT

:C
echo "Vous avez trouver le nombre mystere."

PAUSE

Répondre à NikoDinaz

3

SAW5, le 17 déc 2008 à 15:03:58

ça doit être une faute de frappe...sinon quand tu dis : Personnellement , je ferais une boucle

oui le code peut accepter une boucle mais,...à mon goût des IF enchaîner + des (GOTO ou CALL) sont plus plus appropriés pour ce genre de code...

d'autre part, fixer une limite au random ça sera plus fun..mais si le prompt DOS n'ai pas convivial pour ce genre de jeux.. ******* Mon nouveau MOI *********

Répondre à SAW5

4

 H4RDW4RE, le 18 déc 2008 à 20:58:52

Oui, c'est vrai...
Sinon, tu peut fixer que le nombre %random% appartienne à un ensemble :

set /a NB=%random%%%100


Par exemple, se code permet d'enregistrer ton nombre "mystère" dans une variable %NB%.
Le nombre sera compris entre 0 et 100, se qui est parfois plus simple...

Après, c'est a toi de voir...

Bye
A PC is like a plane, when you open Windows, it's the crash !!!

1/= |_| [4|\| |^34[) 7#15, |_|'|^ 4|\| 3><7|^3(v)3 633|< !!!

Répondre à H4RDW4RE