By looks of things your problem is that the values you're receiving from the user disappear
out of scope. If you're unfamiliar with that that phrase means, do search for it and read up as it's an important topic.
Essentially all these:
int exam_weight, hw_weight, proj_weight, part_weight, lab_weight;
Disappear in a puff of smoke as soon as
WeightTotal()
completes.
What you need is to make those values Instance Variables, which means they will be available to both functions. Simply move the line of code written above in between:
class IntroCS
{
and
public static void Main (string[] args)
You can now reference those values in the second function.