2017-09-20 3 views
0

私は間違いの可能性が高いので、コードを書くのは新しいですが、 私は電卓を試してみると、 "A"と表示され、適切な等級が未定義になるはずです。私が間違っているところのIdk。 私はさまざまなバリエーションを試しましたが、電卓を正しく動作させることができません。私は問題がどこにあるのか分からない。あなたのコード内JavaScriptの等級尺度複数の間違った答えでエラーを計算していますか?

function calculateGrade(grade) {if (parseInt >= "90"){ 
    alert ("A"); 
} 
else if (parseInt >= "80" === parseInt < "90"){ 
    alert ("B"); 
} 
else (parseInt >= "70" === parseInt < "80");{ 
    alert ("C"); 
} 
if (parseInt >= "60" === parseInt < "70"){ 
    alert ("D"); 
} 
else if (parseInt < "60"){ 
    alert ("F"); 
}} 
var inputGrade = prompt("Enter a grade:"); 
var parsedInt = parseInt(inputGrade); 
var finalGrade = calculateGrade(parsedInt); 
alert(finalGrade); 
+2

のparseInt関数ではなく、あなたが何を考えている知っている魔法の変数である、それを試してみてください - あなたはparsedIntを意味するのですか?また...整数を解析するのに苦労して、それを文字列と比較しますか? –

+0

よろしくお願いいたします。私は戻って、今どこに見えるか知っている。私は助けに感謝します。 –

答えて

0

提案やエラー

  1. あなたは既にnumberに解析、その数字から'90'引用符を残しています。
  2. マジック名とグローバル変数を使用しないでください。あなたの関数はgrade引数を受け入れます。あなたのコードでそれを使用してください。
  3. お客様のif else条件が間違っています。それらのうちのいくつかはelse ifなしです。各else if条件の2番目の部分を残すことができます。
  4. 機能から期待しているfinalを返します。

function calculateGrade(grade) { 
 
    let final = ''; 
 
    
 
    if (grade >= 90) { 
 
     final = 'A'; 
 
    } else if (grade >= 80) { 
 
     final = 'B'; 
 
    } else if (grade >= 70) { 
 
     final = 'C'; 
 
    } else if (grade >= 60) { 
 
     final = 'D'; 
 
    } else { 
 
     final = 'F'; 
 
    } 
 
    
 
    return final; 
 
} 
 

 
let inputGrade = prompt("Enter a grade:"); 
 
let parsedInt = Number.parseInt(inputGrade); 
 
let finalGrade = calculateGrade(parsedInt); 
 
alert(finalGrade);

+0

それは80以上90未満を読むでしょう...そうですか?私は助けに感謝し、今私は自分の問題を探す場所を知っています。ありがとうございます –

+0

その部分を放出することができます。上のコードを参照してください –

+0

Ohhhhケイ、私はどこが間違っていた参照してください。ありがとうございました。非常に –

0

あなたは早期終了とpattternを使用し、最大値に最小値チェックをFRIM開始することができます。

早期終了は関数を返し、関数はreturnステートメントで終了しているため、それ以上のチェックは行われません。

parseIntで整数値をとる場合は、先頭に0を付けずに0にすると、不要な8進数として扱われるため、10の基数を使用する必要があります。

最後のアドバイスでは、関数名やオブジェクト名、または予約語句の名前を変数名として使用しないでください。これは、適切な作業コードと理由なしで検索することにつながる可能性があります。

function calculateGrade(grade) { 
 
    if (grade < 50){ 
 
     return "F"; 
 
    } 
 
    if (grade < 60){ 
 
     return "E"; 
 
    } 
 
    if (grade < 70) { 
 
     return "D"; 
 
    } 
 
    if (grade < 80) { 
 
     return "C"; 
 
    } 
 
    if (grade < 90) { 
 
     return "B"; 
 
    } 
 
    return "A"; 
 
} 
 

 
var inputGrade = prompt("Enter a grade:"), 
 
    grade = parseInt(inputGrade, 10), 
 
    finalGrade = calculateGrade(grade); 
 

 
console.log(finalGrade);

0

function calculateGrade(grade) { 
if (grade < 60){ 
    alert ("F"); 
} 
else if (grade >= 60 && grade < 70){ 
    alert ("D"); 
} 
else if(grade >= 70 && grade < 80);{ 
    alert ("C"); 
} 
else if (grade >= 80 && grade < 90){ 
    alert ("B"); 
} 
else if (grade >= 90){ 
    alert ("A"); 
} 
} 
var inputGrade = prompt("Enter a grade:"); 
var parsedInt = parseInt(inputGrade); 
var finalGrade = calculateGrade(parsedInt); 
alert(finalGrade); 
+0

[コードの詳細や説明を少し追加してください](https://stackoverflow.com/help/how-to-answer) – Dwhitz

関連する問題