JavaScript
// Grade system:
// 90-100: A
// 80-89: B
// 70-79: C
// 60-69: D
// Below 60: F
function calculateGrade(marks) {
if (marks >= 90 && marks <= 100) {
return 'A';
} else if (marks >= 80 && marks < 90) {
return 'B';
} else if (marks >= 70 && marks < 80) {
return 'C';
} else if (marks >= 60 && marks < 70) {
return 'D';
} else if (marks >= 0 && marks < 60) {
return 'F';
} else {
return 'Invalid marks';
}
}
// Test cases
console.log("95 marks:", calculateGrade(95));
console.log("85 marks:", calculateGrade(85));
console.log("75 marks:", calculateGrade(75));
console.log("65 marks:", calculateGrade(65));
console.log("45 marks:", calculateGrade(45));
console.log("105 marks:", calculateGrade(105));
// Method 2: Using switch with ranges
function calculateGrade2(marks) {
switch(true) {
case marks >= 90 && marks <= 100:
return 'A';
case marks >= 80 && marks < 90:
return 'B';
case marks >= 70 && marks < 80:
return 'C';
case marks >= 60 && marks < 70:
return 'D';
case marks >= 0 && marks < 60:
return 'F';
default:
return 'Invalid marks';
}
}
console.log("\nUsing switch:");
console.log("92 marks:", calculateGrade2(92));
console.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
This program demonstrates range-based conditional logic.
Grade System
Common grading scale:
-
A: 90-100 (Excellent)
-
B: 80-89 (Good)
-
C: 70-79 (Average)
-
D: 60-69 (Below Average)
-
F: 0-59 (Fail)
Method 1: If-Else Chain
Checking ranges with AND operator:
javascriptif (marks >= 90 && marks <= 100) { return 'A'; } else if (marks >= 80 && marks < 90) { return 'B'; } // ... and so on
Range Checking
marks >= 90 && marks <= 100: Inclusive rangemarks >= 80 && marks < 90: Lower inclusive, upper exclusive
Method 2: Switch with Ranges
Using switch(true) pattern:
javascriptswitch(true) { case marks >= 90 && marks <= 100: return 'A'; case marks >= 80 && marks < 90: return 'B'; // ... }
Switch(true) Pattern
- Evaluates each case as boolean
- First matching case executes
- Useful for range checks
Input Validation
Always validate input:
javascriptif (marks < 0 || marks > 100) { return 'Invalid marks'; }
Real-world Applications
- Student grading systems
- Performance evaluation
- Score categorization
- Rating systems
When to Use:
-
If-else: Most common, readable
-
Switch: Multiple ranges, organized