Gentlemen, how to make the following program using switch on javascript:

<html> <body> <meta charset="utf-8"> <script type="text/javascript"> x = prompt ("Введите балы",""); if ( x >=0 && x <= 40 ){ alert ("Fx отчислен"); } else if ( x >=41 && x <= 59){ alert ("F, На пересдачу!"); } else if ( x >= 60 && x <= 67 ){ alert ("E, 3-"); } else if ( x >= 68 && x <= 74 ){ alert ("D, 3"); } else if ( x >= 75 && x <= 81 ){ alert ("C, 4-"); } else if ( x >= 82 && x <= 90 ){ alert ("B, 4"); } else if ( x >= 91 && x <= 100 ){ alert ("A, 5"); } </script> </body> </html> 

We have a dispute! It is on javascript and only with a switch!

2 answers 2

To begin with, the original example is written extremely poorly. Even so, for example:

 if (x >= 0) { if (x < 41) { alert("Fx"); } else if (x < 60) { alert("F"); } else if (x < 68) { alert("E"); } else if (x < 75) { alert("D"); } else if (x < 82) { alert("C"); } else if (x < 91) { alert("B"); } else if (x < 101) { alert("A"); } } alert("Error"); 

It is possible and through switch ...

 switch ((x < 0) + (x < 41) + (x < 60) + (x < 68) + (x < 75) + (x < 82) + (x < 91) + (x < 101)) { case 1: alert("A"); break; case 2: alert("B"); break; case 3: alert("C"); break; case 4: alert("D"); break; case 5: alert("E"); break; case 6: alert("F"); break; case 7: alert("Fx"); break; default: alert("Error!"); break; } 
     switch(true) { case(x<0): m = "ниже плинтуса" break; case(x<41): m = "Fx отчислен"; break; case(x<60): m = "F, На пересдачу!"; break; case(x<68): m = "E, 3-"; break; case(x<75): m = "D, 3"; break; case(x<82): m = "C, 4-"; break; case(x<91): m = "B, 4"; break; case(x<101): m = "A, 5"; break; default: m = "Чо, самый умный?!"; } alert(m);