I have a few questions about a script that I have made. First off when I add this line to my sub letter I get an Internal Server Error in my browser, here is the line:
elsif($finalgrade<=92 && >= 90){$letter='A-'};
I just can seem to figure out why it goes bad? If anyone has an idea it would be greatly appreciated.
Next I was wondering if there was a way to make it so that when the result is lets say 92.5 it would round up to an 'A' and a 92.4 it would round down to an 'A-'?
Here is the code I have so far.
#!/usr/bin/perl
use CGI ':standard';
print header;
#Variables#
$g1=param('g1');
$g2=param('g2');
$g3=param('g3');
$g4=param('g4');
$g5=param('g5');
$g6=param('g6');
$name=param('name');
#Main Script#
if($g1 eq '' && $g2 eq '' && $g3 eq '' && $g4 eq '' && $g5 eq '' && $g6 eq '')
{
&begin_html;
&form;
}
else
{
&begin_html;
&divisor;
&calculate;
&letter;
&results;
}
print end_html;
#subroutines#
sub begin_html{
print "
<html>
<head><title>Grade Calculator</title></head>
<body>
<h2>Grade Calculator</hr><br>
";
}
sub form{
print "
<h2>Grades</h2>
<form method=post action=grades.pl>
Name: <input type=textbox name=name><br>
Grade 1: <input type=textbox name=g1><br>
Grade 2: <input type=textbox name=g2><br>
Grade 3: <input type=textbox name=g3><br>
Grade 4: <input type=textbox name=g4><br>
Grade 5: <input type=textbox name=g5><br>
Grade 6: <input type=textbox name=g6><br>
<input type=submit>
<input type=reset><br>
</form>
";
}
sub divisor{
if($g1 ne ''){$divisor++;}
if($g2 ne ''){$divisor++;}
if($g3 ne ''){$divisor++;}
if($g4 ne ''){$divisor++;}
if($g5 ne ''){$divisor++;}
if($g6 ne ''){$divisor++;}
}
sub calculate{
$finalgrade=($g1+$g2+$g3+$g4+$g5+$g6)/$divisor;
}
sub results{
print "
<h2>$name these are your results </h2><br>
<h2>Your average is: $finalgrade </h2><br>
<h2>Your letter grade is: $letter</h2><br>
";
}
sub reset{
print "
<form action=grades.pl method=post>
<input type=hidden name=g1 value=''>
<input type=hidden name=g2 value=''>
<input type=hidden name=g3 value=''>
<input type=hidden name=g4 value=''>
<input type=hidden name=g5 value=''>
<input type=hidden name=g6 value=''>
<input type=submit value=again>
</form
";
}
sub letter{
if($finalgrade>=93){$letter='A'};
elsif($finalgrade<=92 && >= 90){$letter='A-'};
}

New Topic/Question
Reply



MultiQuote





|