if ($possible) {
$average = sprintf("%2.2f", ($earned / $possible) * 100);
if ($average >= 95) { $grade = "A"; }
elsif ($average >= 90) { $grade = "A-"; }
elsif ($average >= 87) { $grade = "B+"; }
elsif ($average >= 84) { $grade = "B"; }
elsif ($average >= 80) { $grade = "B-"; }
elsif ($average >= 77) { $grade = "C+"; }
elsif ($average >= 74) { $grade = "C"; }
elsif ($average >= 70) { $grade = "C-"; }
elsif ($average >= 67) { $grade = "D+"; }
elsif ($average >= 64) { $grade = "D"; }
elsif ($average >= 60) { $grade = "D-"; }
elsif ($average < 60) { $grade = "E"; }
} else {
$grade = $average = $earned = $possible = "?";
}
####
@GRADES = qw( E D- D D+ C- C C+ B- B B+ A- A );
@BRACKETS = ( 60,64,67,70,74,77,80,84,87,90,95 );
if ($possible) {
$average = sprintf("%2.2f", ($earned / $possible) * 100);
$grade = 0;
foreach (@BRACKETS) { $grade++ if ($average >= $_); }
$grade = $GRADES[$grade];
} else {
$grade = $average = $earned = $possible = "?";
}
####
# prepare query
$cursor = $dbh->prepare('SELECT * FROM grades WHERE className=?');
# cycle through courses
foreach $course (@courses) {
# execute query
$cursor->execute($course);
...
}
...