Grade Calculator in JavaScript

90 A, 80 B, else F. Check 0–100 first or a 107 becomes an A.

BeginnerConditional ProgramsExample 5 of 5
grade-calculator.js
1// Grade system:
2// 90-100: A
3// 80-89: B
4// 70-79: C
5// 60-69: D
6// Below 60: F
7
8function calculateGrade(marks) {
9 if (marks >= 90 && marks <= 100) {
10 return 'A';
11 } else if (marks >= 80 && marks < 90) {
12 return 'B';
13 } else if (marks >= 70 && marks < 80) {
14 return 'C';
15 } else if (marks >= 60 && marks < 70) {
16 return 'D';
17 } else if (marks >= 0 && marks < 60) {
18 return 'F';
19 } else {
20 return 'Invalid marks';
21 }
22}
23
24// Test cases
25console.log("95 marks:", calculateGrade(95));
26console.log("85 marks:", calculateGrade(85));
27console.log("75 marks:", calculateGrade(75));
28console.log("65 marks:", calculateGrade(65));
29console.log("45 marks:", calculateGrade(45));
30console.log("105 marks:", calculateGrade(105));
31
32// Method 2: Using switch with ranges
33function calculateGrade2(marks) {
34 switch(true) {
35 case marks >= 90 && marks <= 100:
36 return 'A';
37 case marks >= 80 && marks < 90:
38 return 'B';
39 case marks >= 70 && marks < 80:
40 return 'C';
41 case marks >= 60 && marks < 70:
42 return 'D';
43 case marks >= 0 && marks < 60:
44 return 'F';
45 default:
46 return 'Invalid marks';
47 }
48}
49
50console.log("\nUsing switch:");
51console.log("92 marks:", calculateGrade2(92));
52console.log("78 marks:", calculateGrade2(78));

Output

95 marks: A
85 marks: B
75 marks: C
65 marks: D
45 marks: F
105 marks: Invalid marks

Using switch:
92 marks: A
78 marks: C

What's going on

Test the highest grade first. Reverse the order and 95 matches >= 60 and you hand out a D.

107 is invalid, not an A. else if stops at the first hit.