Hi.. I've been working on this bisection method program using some pseudocode of wikipedia, and I have gotten myself in a bind. The compiler tells me there is a syntax error with the last return in my program. I'll post it here. Any comments would be greatly appreciated.

Thanks,

Brian

ill highlight the error in red

Code:`#include <iostream>`

#include <math.h>

#include <iomanip>

#include <fstream>

using namespace std;

double mdpt (double a, double b)

{

double mdptfn = ((a + b) / 2);

return (mdptfn);

}

int main()

{

double a = 0;

double b = 2;

double precision;

cout << " Enter a precision "<<endl;

cin >> precision;

double Fa = pow(a,3) - (7 * pow(a,2)) + (5 * a) + 3;

double Fb = pow(b,3) - (7 * pow(b,2)) + (5 * b) + 3;

cout << Fa <<endl;

cout << Fb <<endl;

// begin the bisection loop

do while (abs(b - a) > precision)

{

// Find the Midpoint of the funtion

double midpoint = ((a + b) / 2);

cout << midpoint <<endl;

// find the answer for midpoint of the function

double Fofmid = pow(midpoint,3) - (7 * pow(midpoint,2)) + (5 * midpoint) + 3;

cout << Fofmid <<endl;

//determine the appropriate half to search in

if ((Fa * Fofmid) > 0)

double a = midpoint;

else

double b = midpoint;

}

return (mdpt (a,b));

}