Problème goto

Fermé
rely - 12 févr. 2002 à 17:59
jp_zuate Messages postés 2 Date d'inscription vendredi 6 juillet 2001 Statut Membre Dernière intervention 12 février 2002 - 12 févr. 2002 à 20:40
voilà mon code:

Console.WriteLine("Veuillez saisir une valeur pour k (0 est admis):");
k=Console.ReadLine().ToInt16;

if(k>3)
Console.WriteLine("Veuillez saisir une valeur comprise entre zéro et trois, zéro inclus:");
else
switch(k)
{
case0: goto L0;
break;
case1: goto L1;
break;
case2: goto L2;
break;
case3: goto L3;
break;
}


L0: f=i+j;
return
L1: f=g+h;
L2: f=g-h;
L3: f=i-j;

Console.WriteLine("Pour k= {0}, h= {1}", k, h);



Question: après mes opérations L0, L1 etc... dois-je un return que le programme saute à la fin du programme? Si oui return vers où? Je dois rajouter une étiquette avant l'affichage de fin?

(je sais c'est pas génial mais mon prof veut absolument ça, ensuite je dois le faire en assembleur...)
A voir également:

4 réponses

Peguinette Messages postés 176 Date d'inscription vendredi 15 juin 2001 Statut Membre Dernière intervention 17 juillet 2003 30
12 févr. 2002 à 19:11
La premiere regle en programmation :

NE JAMAIS FAIRE DE GOTO SAUF SI ON EST OBLIGE (EX: ASSEMBLEUR)

Or là visiblement ce n'est pas de l'assembleur.

---------
Peguinette
0
je sais bien mais mon prof veux le C et l'assembleur, les deux avec des goto! je sais c'est une abbération, mais bon, si ça peut lui faire plaisir...
0
jp_zuate Messages postés 2 Date d'inscription vendredi 6 juillet 2001 Statut Membre Dernière intervention 12 février 2002
12 févr. 2002 à 20:39
Bon, même si c'est pas beau, ton prof doit avoir ses raisons, que j'espère pédagogiques.

Je ne suis pas expert PHP, loin de là, mais si dans ton prog tu prévois l'affichage d'un résultat quelconque (en l'occurence ici Console.WriteLine...), je me dit comme ça qu'il faut qu'il s'affiche. Donc un petit GOTO FIN me parait le bien venu, FIN étant bien entendu une étiquette située juste avant Console.WriteLine.

Par ailleurs, tu testes en début de programme si K > 3 pour afficher une erreur. Et là, un GOTO DEBUT, ça serait pas mieux ? DEBUT serait quand à lui une étiquette située avant Console.WriteLine.

Et j'imagine qu'une fois que vous vous serez tous trituré l'esprit à faire des GOTO il vous fera une magistrale démonstration de l'utilité des boucles ...
0
jp_zuate Messages postés 2 Date d'inscription vendredi 6 juillet 2001 Statut Membre Dernière intervention 12 février 2002
12 févr. 2002 à 20:40
Pourquoi je cause de PHP moi dans ma réponse, c'est po du PHP. N'importe quoi JP, n'importe quoi. Le reste du message reste vrai à mon sens ...
@+
0