Jay wrote:
On Thu, 17 Feb 2005 06:06:30 +1000, Alfred Vahau <[EMAIL PROTECTED]> wrote:
$inputfile = 'gpa.dat'; open (INF, "<$inputfile") || die "can't open file $inputfile $!:\n";
But this is another problem that I can address later. *********
my $inputfile = 'gpa.dat' ;
strict wants you to declare the scope of the variable. It's just a good thing to do.
Thanks for pointing this out.
my %grades = ( A => 4, B => 3, C=> 2, D=> 1, F => 0 ) ; # lookup hash for the grades
Thank you. Keeps tracking easier.
my %studcredit ; # we'll store the credits attempted here
my %studpoints ; # we'll store the honor points here
while (<>) { chomp; my ($id, $grade, $cred) = split /\s/, $_ ; # or just split
I'll use /\s+/ just in case of additional white spaces in the real data
The use of character classes clearly skipped my mind. Just to be sure ofnext unless $grade =~ /[ABCDF]/;
cases, I'll use /[a-fA-F]/
\s+ isn't a bad idea.
Be careful with you classes here, though. [a-fA-F] matches both 'e' and 'E'. Try '/[ABCDF]/i'.
Of course! There's no E grade in our current system.
Id 316 gpa = 1.40 is confirmed. Id 216 = 1.64 is different from one I quoted (1.73).
Ankur Gupta in an earlier posting quoted 1.98 for id 216 so I will have
to check the calculations again
for non-allowed grades.
Some of the data may not have cut and pasted correctly.
Again will check.
HTH,
--jay
Thanks,
Alfred,
--
Perl - "... making the easy jobs easy,
without making the hard jobs impossible."
'The Camel', 3ed
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>