I can call the function.. But not accurate anwer.

this program is running, but the problem is., the function that I called didnt give me the accurate answer.. if you looki into my source.. what was the problem?? is the formula?? or the wrong way of calling functon?? or the whole source of my program.?

this program should able to compute the the Grades in averaging., then it will give the Equivalent..

Please don't attach or link to code if it can be more easily embedded in your post. A 70 line program is short enough to fit, and it makes helping you easier.

>didnt give me the accurate answer
This is your problem:

final_grade=a+b+c/3;

You want an average, which means summing all of the items first, then dividing by the number of items. C++'s precedence rules (and C's as well, since this looks like C code) are intuitive in that multiplication and division go before addition and subtraction. You need to surround the addition in parens:

final_grade=(a+b+c)/3;

Your code is actually broken, I'm surprised it works at all.

>scanf("%s",&Subname);
Subname is already a pointer, you don't need to use the address-of operator here.

>scanf("%d",Gone);
>scanf("%d",Gtwo);
>scanf("%d",Gthree);
Gone, Gtwo, and Gthree are all integers, you do need to use the address-of operator here because they're not pointers.

Note that without an intervening else if, an if statement is independent of any other if statements. Any of the previous if statements to the last one will essentially have no effect because functionally, your function looks like this:

How funny: the grade_equivalent function performs a long chain of if-elses to get an exact floating-point equivalent of grade then return integer value! And where is your 1.25, 1.75 and other non-integer values after that?
Moreover, grade_equivalent(75) == 3 but it returns 5 for 76, 77 and 78...