Cours de Javascript 2022

Chapitre 3 - Correction 3 : Sélection de sexe


function SexSelection()
{
 _userNumber = parseInt(prompt("Dites nous de quel sexe êtes-vous :\n1)homme\n2)femme\n3)autre"));
 if(_userNumber==1)
 {
  alert("Bonjour Monsieur");
 }
 else if (_userNumber==2)
 {
  alert("Bonjour Madame");
 }
 else if (_userNumber==3)
 {
  alert("Bonjour à vous");
 }
 else
 {
  alert("Entrée incorrecte, veuillez recommencer");
  SexSelection();
 }
} SexSelection();

Explications :

Cette solution est certes très bien, mais pas très instinctive pour vous, en effet j'utilise ici une notion que nous verrons seulement dans les prochains chapitre, le concept de boucle. Ici donc je crée une fonction qui va enfermer toute mon opération, car le soucis, c'est que notre utilisateur peut se tromper, il peut tapper 4, 5, -1, ou même une chaîne de caractères. Dans ce cas nous voulons bien sur lui afficher un message d'erreur ! Mais idéalement, après le message d'erreur, il ne devrait pas pouvoir accéder à notre site, on devrait lui reposer la question tout simplement ! C'est pourquoi nous déclarons l'entièreté du code dans une fonction, et si la personne se trompe, nous ré-appelons cette fonction. Cela fait donc une boucle tant que nous ne donnons pas de bonne réponse ! Pour le reste, c'est assez simple, c'est une bête application de la théorie du if, else if, else, vous pouvez voir la théorie si vous avez encore du mal avec ça !

Solution alternative :


_userNumber = parseInt(prompt("Dites nous de quel sexe êtes-vous :\n1)homme\n2)femme\n3)autre"));
if(_userNumber==1)
{
 alert("Bonjour Monsieur");
}
else if (_userNumber==2)
{
 alert("Bonjour Madame");
}
else if (_userNumber==3)
{
 alert("Bonjour à vous");
}
else
{
 alert("Entrée incorrecte, veuillez recommencer");
}

Voilà la solution plus classique qui ne s'embête pas de boucler si jamais la personne se trompe, c'est la solution de base qui vient à l'esprit et qui est très correcte, juste un peu moins bonne d'un point de vue utilisateur, car si la personne veut faire fonctionner le programme après s'être trompé, il doit actualiser sa page !