Please use the code format tags to format your code. You can edit the post and apply the tags. Code is impossible to read if it's not formatted correctly.
When the compiler encounters an error, it reports what it thinks is wrong and the file/line it thinks it happened on. If you post an error message, you need to post the full error. Most folk don't have the time to read you code looking for your error.
The function BubbleSort is expecting an array/pointer of ints. The argument you pass is a) an int (because it's casted by (int)) and b) a single value (because you read in a single double).
'double GPA' should be an array of doubles which are then copied to an array of integers to do the casting. Reading in will require more than a simple >> statement. (Hint: loop!)
Another thing: your BubbleSort won't sort. It will overwrite values, in a very strange way:
1 2 3 4
if (GPA[j] > GPA[j+1])
{
GPA[j] = GPA[j+1];
//...
Read it aloud: If GPA[j] is larger than GPA[j+1], GPA[j] will be set to the value of GPA[j+1]. That means that after that branch, GPA[j] == GPA[j+1]. The original value of GPA[j] is lost, and you now have the value GPA[j+1] twice.