I am surprised it is letting you compile- I found it; errors out in C# :P
you function "determineGrade" is a double- yet you are expecting it to be a char, and you are trying to return a char- you can't implicitly convert a char to a double.
also the variable grade is not necessarily getting initialized- well it is (as it is the end result of a set of if/elseif statements) but in C# anyways it doesn't know that for sure- I was able to modify it by changing all those if/elseif's to a switch and default returning 'E' for error. this also then eliminates the need for the variable grade- or you could set grade to a variable and then return it but it is redundant...
grade = 'E';
.... same as ....
in short- I would make the set of if's be a switch (you will need to change up your logic a little bit) and the bottom line issue is you are trying to on-the-fly convert a char to a double.