let give_mark_to_student (login:string) (padd:paddress) (grade:float) =
let stu = find_student !student_list login in
let tim = (try
H.get_assoc stu.teams padd
with _ -> make_steam ~proj:padd ~r:Prog ()) in
if ((grade < 0.) && (tim.n < 0)) then
H.remove_assoc stu.teams padd
else begin
debug (Printf.sprintf "Grade : %.1f to student %s (g.%d) in project '%s'"
grade login stu.group (pa_to_string padd));
H.update_assoc stu.teams padd (update_grade tim grade);
end