goto %label% ?
Posté : 02 juil. 2010 23:32
En examen, j'ai eu à créer un menu tout simple.
Le voici :
Mon professeur m'a fait échouer prétextant que l'utilisation de goto %ii% plutôt qu'une étiquette pouvait
générer des erreurs.
J'aurais aimé savoir si son argument tient la route étant donné que ce menu fonctionne très bien.
Sachant que Set /p ii= stocke l'entrée de l'utilisateur en tant que chaîne de caractère (string, pour les intimes) et que
goto nous envoie à l'étiquette correspondante à la chaîne de caractère suivant la commande, quelles peuvent bien être
les erreurs "possibles" de la méthode que j'ai utilisé ?
Une idée ?
Je pensais à contester mes résultats mais j'aimerais être certain avant que ma méthode n'est pas erronée.
Tout ce que j'ai eu comme réponse c'est que ça peut générer des erreurs, sans plus d'explications de sa part.
Je cherche à comprendre ...
ou
Sachant, me fiant à l'aide de ms-dos, que %ii% est stockée en tant que chaîne de caractère et que goto
prend comme paramètre une chaîne de caractère, je ne vois vraiment pas ou pourrait être le problème.
Le voici :
Code : Tout sélectionner
@echo off
title Mon menu
:menu
cls
echo.
echo 1 - Afficher des "1"
echo 2 - Afficher des "2"
echo q - Quitter
set /p ii=
if %ii%==1 goto %ii%
if %ii%==2 goto %ii%
if /I %ii%==q goto %ii%
:1
cls
echo 1111111
pause
goto menu
:2
cls
echo 222222
pause
goto menu
:q
cls
echo bye
pause > nul
Mon professeur m'a fait échouer prétextant que l'utilisation de goto %ii% plutôt qu'une étiquette pouvait
générer des erreurs.
J'aurais aimé savoir si son argument tient la route étant donné que ce menu fonctionne très bien.
Sachant que Set /p ii= stocke l'entrée de l'utilisateur en tant que chaîne de caractère (string, pour les intimes) et que
goto nous envoie à l'étiquette correspondante à la chaîne de caractère suivant la commande, quelles peuvent bien être
les erreurs "possibles" de la méthode que j'ai utilisé ?
Une idée ?
Je pensais à contester mes résultats mais j'aimerais être certain avant que ma méthode n'est pas erronée.
Tout ce que j'ai eu comme réponse c'est que ça peut générer des erreurs, sans plus d'explications de sa part.
Je cherche à comprendre ...
Code : Tout sélectionner
if %ii%==1 goto %ii%
Code : Tout sélectionner
if %ii%==1 goto 1
prend comme paramètre une chaîne de caractère, je ne vois vraiment pas ou pourrait être le problème.