J'ai besoin d'afficher un calcul effectué sur l'instruction switch.

L'application doit avoir deux fonctions: une pour calculer le classement et une pour afficher le classement en utilisant l'instruction switch pour déterminer le ratissage comme paramètre. il devrait avoir le "Senior Master" dans la console.

Le système de classement est le suivant.

Ranking
Rating Points
Senior master
2400 +
National master
2200–2399
Expert
2000–2199
Class A
1800–1999
Class B
1600–1799

La fonction d'affichage doit appeler la fonction de calcul, en passant les points de classement des joueurs comme argument à cette fonction.

Exemple de sortie de l'application:

Master senior

J'ai essayé d'utiliser uniquement l'instruction switch pour obtenir le résultat du supposé calcul. Je suis toujours très confus car je suis censé afficher le calcul dans une deuxième fonction.

J'ai un résultat qui ne semble pas correct.

voici mon code.

(function (seniorMaster) { // Self executing function. Protects global space. 

    function calculateRanking() {

        seniorMaster = "2400 + ";

        switch (seniorMaster) {

            case ("2400 + "):

                ("Senior Master");

                break;

            case ("2200 - 2399"):

                console.log("National Master");

                break;

            case ("2000 - 2199"):

                console.log("Expert");

                break;

            case ("1800 - 1999"):

                console.log("Class A");

                break;

            case ("1600 - 1799"):

                console.log("Class B");
        }
    }

    calculateRanking(); // need another function to display the raking

})();

function display(){ // not sure if the second function is correct

    console.log("Senior Master")

}display()
0
Lucas 4 nov. 2019 à 06:05

1 réponse

Je n'utiliserais pas une instruction switch pour imprimer le résultat, mais si vous en avez vraiment besoin, je créerais deux fonctions, comme ceci:

function getRank(strRank) {
  const rank = parseInt(strRank);
    if (rank >= 2400) return "Senior Master";
    if (rank >= 2200 && rank <= 2399) return "National Master";
    if (rank >= 2000 && rank <= 2199) return "Expert";
    if (rank >= 1800 && rank <= 1999) return "Class A";
    if (rank >= 1600 && rank <= 1799) return "Class B";
    else return "No rank";
} 

function printRank(rank) {
  switch (rank) {
    case "Senior Master":
    case "National Master":
    case "Expert":
    case "Class A":
    case "Class B":
      console.log(rank);
      break;
    default:
      console.log("No matching rank");
      break;
  }
}

printRank(getRank("2400")); // => "Senior Master"
0
aashah7 4 nov. 2019 à 05:18