Reputation: 97
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
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
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.
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
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
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