#!/usr/local/bin/perl
require "/w/class.01/cs/cs131/cs131ta/risc/grades/column_names";

$column=8;
open (IN, "backups/midterm-1.tab") or die "Can't open midterm-1.tab :$!\n";
@in=<IN>;
close IN;

&readgrades;

foreach $line (@in) {
#not using tabs as if cut and paste transfer tabs become spaces
  ($sid, $score) = $line =~ m:(\d{9})\s+\w+,\s+\w+.*?\s+(\d+\.?\d*):;
  if ($sid==0) {
    ($sid)= $line =~ m:(\d{9})\s+:;
    $score=0;
  }
#print "sid=$sid, sc=$score, $line";
  $scores{sprintf("%09d",$sid)}=$score;
}
foreach $student (@grades) {
  ($sid)= $student=~ m:(\d{9}):;
  if (exists $scores{$sid}) {
    $val=$scores{$sid};
    chomp $student;
    @sgrades=split (/,/, $student, -1);
    if ($sgrades[$column] >0) {#already have grade
      print "$sid already had $sgrades[$column], now its $val\n";
    }
    $sgrades[$column]=$val;
    $student=join (",", @sgrades);
    $student .="\n";
    delete $scores{$sid};
  }
  else {push @nogrades, "$sid";}
}

print "Students with nogrades: @nogrades\n";
foreach $sid (sort keys %scores) {print "$sid not found\n";}

#&writegrades;
open (GRADES, ">$home/grades/2grades.csv");
print GRADES @grades;
close GRADES;
