Pramito Rahman
Pramito Rahman

Reputation: 97

I recently create a grade calculator by JavaScript but the script is not working

I recently created a grade calculator using JavaScript... but the script is not working!

the problem is.. when I enter a number like "55" the result is showing in three dialouge box one is saying " you got A+ " second is " you got A" and showing all the grades i add into the code

the following code is

var name= prompt("Enter your name");

var number= prompt("Enter your number");

alert("Hello , " + name);

if ( number >= 80 ); {

alert("Hello you got A+");

} 

if ( number >= 70 ); {

alert("Hello you have got A");

}

 if ( number >= 60 ); { 

alert("Hello you have got A-");

 } if (number >= 50 );  { 

alert("Hello you have got B"); }

can any one help me? whats wrong ? really sorry for my bad english!!

Upvotes: 1

Views: 1249

Answers (4)

user2289659
user2289659

Reputation:

For calculating correct grade you should change your code as changing condition as following:

var name= prompt("Enter your name");

var number= prompt("Enter your number");
alert("Hello , " + name);
if ( number >= 80 ) {
alert("Hello you got A+");
}
if ( number >= 70 && number < 80) {
alert("Hello you have got A");
}
if ( number >= 60  && number < 70 ) { 
alert("Hello you have got A-");
} if(number >= 50  && number < 60)  { 
alert("Hello you have got B"); }

Upvotes: 1

dsgriffin
dsgriffin

Reputation: 68596

You should not be placing ; after your if statements. Remove them.

if (number >= 50 ); {
                  ^

Also, I'm guessing that you only want one of those statements to run depending on the number entered? You could try using else if's if you only want one of those statements to run. Also, use parseInt() on your number prompt.

Here's a working jsFiddle.


var name= prompt("Enter your name");   
var number= parseInt(prompt("Enter your number"));
alert("Hello , " + name);

if (number >= 80) {    
  alert("Hello you got A+");    
} 

else if ( number >= 70) {    
  alert("Hello you have got A");    
}

else if ( number >= 60) {     
  alert("Hello you have got A-");    
} 

else if (number >= 50) {    
  alert("Hello you have got B"); 
}

Upvotes: 4

ElPedro
ElPedro

Reputation: 586

try using "else if" instead of just "if" for the alternative options. If the score is larger than the first option it will also be larger than all of the others so if will return "true" for all cases. In addition as stated by Zenith remove the ; after the "if" conditions and ideally use parseInt() to ensure that you are comparing numbers as suggested by Kirubhananth Chellam.

var name= prompt("Enter your name");

var number= prompt("Enter your number");

alert("Hello , " + name);

if ( number >= 80 ) {

    alert("Hello you got A+");

} 

else if ( number >= 70 ) {

    alert("Hello you have got A");

}

else if ( number >= 60 ) { 

    alert("Hello you have got A-");

}

else if (number >= 50 )  { 

    alert("Hello you have got B"); 
}

Upvotes: 0

Kirubhananth Chellam
Kirubhananth Chellam

Reputation: 72

The number needs to be parsed into integer before using. By default it is string.

  var number= parseInt(prompt("Enter your number"));

Then on all if statements you are having ";". Remove them. The code will work fine.

    window.onload = function() {
     var name= prompt("Enter your name");

     var number= parseInt(prompt("Enter your number"));

      alert("Hello , " + name);

      if ( number >= 80 ) {

       alert("Hello you got A+");

       } 

       if ( number >= 70 ) {

      alert("Hello you have got A");

            }

       if ( number >= 60 ) { 

      alert("Hello you have got A-");

        } if (number >= 50 )  { 

      alert("Hello you have got B"); }
       }

Upvotes: 0

Related Questions