Actually it's where you call Output() that
you should look at. Here's the call:
Output(GrandTotal,TotalCookieCost,SalesTax,ShippingTotal);
and here's the method declaration:
void Output(double TotalCookieCost,double SalesTax,double ShippingTotal,double GrandTotal)
You're passing the arguments in the wrong order: in Output, the value of GrandTotal is the value copied from the ShippingTotal variable in main(). The other arguments are similarly mixed up.