Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Here is my program...The compiler error will be posted at the end. I am trying t

ID: 3655698 • Letter: H

Question

Here is my program...The compiler error will be posted at the end. I am trying to get this to print the angle between a set of coordinates and i think maybe the issue is with calling a function from within a function, but I am not sure and I've tried unsuccessfully. Any ideas on how I can get this to work? --------------------------------------- This program reads in the coordinates of two 2D vectors and outputs the angle between the vectors in degrees.------------------------------------------------------------------------------------- #include #include #include using namespace std; --------------------------------------------------------------------function prototypes--------------------------------------------------------------------- // ENTER FUNCTION PROTOTYPE FOR normalize() HERE. double normalize(double &x, double &y); // ENTER FUNCTION PROTOTYPE FOR dot_product() HERE. double dot_product(double x1, double x2, double y1, double y2); // ENTER FUNCTION PROTOTYPE FOR compute_vector_angle() HERE. double compute_vector_angle(double x1, double x2, double y1, double y2); // ENTER FUNCTION PROTOTYPE FOR radians2degrees() HERE. double radians2degrees(double numRad); // ENTER FUNCTION PROTOTYPE FOR output_angle() HERE. void output_angle(double x1, double x2, double y1, double y2, double numDeg); --------------------------------------------------------------------------//MAIN--------------------------------------------------------------------------------- int main() { double u1, v1; // coordinates of vector 1 double u2, v2; // coordinates of vector 2 double radians; // angle in radians double degrees; // angle in degrees // Read points cout << "Enter first vector (2 floats): "; cin >> u1 >> v1; cout << "Enter second vector (2 floats): "; cin >> u2 >> v2; // compute angle in radians between (u1, v1) and (u2, v2) radians = compute_vector_angle(u1, v1, u2, v2); // convert radians to degrees degrees = radians2degrees(radians); // output angle output_angle(u1, v1, u2, v2, degrees); return(0); } ------------------------------------------------------------FUNCTION DEFINITIONS---------------------------------------------------------------------- // DEFINE FUNCTION normalize() HERE. double normalize(double &x, double &y) { if (sqrt(pow(x,2)+pow(x,2))==0) { x=0; y=0; } else { x=(x/sqrt(pow(x,2)+pow(x,2))); y=(y/sqrt(pow(x,2)+pow(x,2))); } } // DEFINE FUNCTION dot_product() HERE. double dot_product(double x1, double x2, double y1, double y2) { double u1, v1; u1=x1; v1=y1; double u2, v2; u2=x2; v2=y2; double dot_pcalc; dot_pcalc=x1*x2+y1*y2; return(dot_pcalc); } // DEFINE FUNCTION compute_vector_angle() HERE. double compute_vector_angle(double x1, double x2, double y1, double y2) { double x; double y; x=normalize(x1, y1); y=normalize(x2, y2); double product; product=dot_product(x1, x2, y1, y2); double angle; angle=acos(product); return(angle); } // DEFINE FUNCTION radians2degrees() HERE. double radians2degrees(double numRad) { compute_vector_angle(numRad); double numDeg; numDeg=180*(numRad/M_PI); return(numDeg); } // DEFINE FUNCTION output_angle() HERE. void output_angle(double x1, double x2, double y1, double y2, double numDeg) { radians2degrees(numDeg); cout<<"Angle between vectors x1,y1 and x2,y2 is "<<numDeg<<" degrees "<<endl; } ---------------------------------------------------------ERRORS-------------------------------------------------------------------------- vector2D_angle.cpp: In function

Explanation / Answer

//made normalize void and commented/deleted some code...it compiles now, but something wrong with your angle #define _USE_MATH_DEFINES #include #include #include using namespace std; //--------------------------------------------------------------------function prototypes--------------------------------------------------------------------- // ENTER FUNCTION PROTOTYPE FOR normalize() HERE. void normalize(double &x, double &y); // ENTER FUNCTION PROTOTYPE FOR dot_product() HERE. double dot_product(double x1, double x2, double y1, double y2); // ENTER FUNCTION PROTOTYPE FOR compute_vector_angle() HERE. double compute_vector_angle(double x1, double x2, double y1, double y2); // ENTER FUNCTION PROTOTYPE FOR radians2degrees() HERE. double radians2degrees(double numRad); // ENTER FUNCTION PROTOTYPE FOR output_angle() HERE. void output_angle(double x1, double x2, double y1, double y2, double numDeg); //--------------------------------------------------------------------------MAIN--------------------------------------------------------------------------------- int main() { double u1, v1; // coordinates of vector 1 double u2, v2; // coordinates of vector 2 double radians; // angle in radians double degrees; // angle in degrees // Read points cout > u1 >> v1; cout > u2 >> v2; // compute angle in radians between (u1, v1) and (u2, v2) radians = compute_vector_angle(u1, v1, u2, v2); // convert radians to degrees degrees = radians2degrees(radians); // output angle output_angle(u1, v1, u2, v2, degrees); cin.ignore(); cin.get(); return(0); } //------------------------------------------------------------FUNCTION DEFINITIONS---------------------------------------------------------------------- // DEFINE FUNCTION normalize() HERE. void normalize(double &x, double &y) { if (sqrt(pow(x,2)+pow(x,2))==0) { x=0; y=0; } else { x=(x/sqrt(pow(x,2)+pow(x,2))); y=(y/sqrt(pow(x,2)+pow(x,2))); } return; } // DEFINE FUNCTION dot_product() HERE. double dot_product(double x1, double x2, double y1, double y2) { /* double u1, v1; u1=x1; v1=y1; double u2, v2; u2=x2; v2=y2; */ double dot_pcalc; dot_pcalc=x1*x2+y1*y2; return(dot_pcalc); } // DEFINE FUNCTION compute_vector_angle() HERE. double compute_vector_angle(double x1, double x2, double y1, double y2) { normalize(x1, y1); normalize(x2, y2); double product; product=dot_product(x1, x2, y1, y2); double angle; angle=acos(product); return(angle); } // DEFINE FUNCTION radians2degrees() HERE. double radians2degrees(double numRad) { //compute_vector_angle(numRad); double numDeg; numDeg=180*numRad/M_PI; return(numDeg); } // DEFINE FUNCTION output_angle() HERE. void output_angle(double x1, double x2, double y1, double y2, double numDeg) { radians2degrees(numDeg); cout
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote