Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

NOTE: THE ONLY FILE THAT NEEDS TO BE CHANGED IS COMPLEX_NUMBER.CPP. COMPLEX_NUMBERS.H #ifndef COMPLEX_NUMBER_H #define COMPLEX_NUMBER_H class complex_number { public: complex_number (double r = 0.0,

NOTE: THE ONLY FILE THAT NEEDS TO BE CHANGED IS COMPLEX_NUMBER.CPP. image text in transcribed COMPLEX_NUMBERS.H #ifndef COMPLEX_NUMBER_H

#define COMPLEX_NUMBER_H

class complex_number { public: complex_number (double r = 0.0, double i = 0.0); // postcondition: complex with given components has been created double get_real_part () const; // returned: real part of complex number double get_imag_part () const; // returned: imaginary part of complex number private: double real_part; double imag_part; };

complex_number operator + (const complex_number& c1, const complex_number& c2); // returned: sum of c1 and c2

complex_number operator - (const complex_number& c1, const complex_number& c2); // returned: difference of c1 and c2

complex_number operator * (const complex_number& c1, const complex_number& c2); // returned: product of c1 and c2

complex_number operator / (const complex_number& c1, const complex_number& c2); // precondition: c2 is not the zero of complex numbers // returned: quotient of c1 and c2

complex_number conjugate (const complex_number& c); // returned: conjugate of c

double complex_modulus (const complex_number& c); // returned: modulus of c

bool operator == (const complex_number& c1, const complex_number& c2); // returned whether c1 and c2 are equal to each other

bool operator != (const complex_number& c1, const complex_number& c2); // returned whether c1 and c2 are not equal to each other

std::ostream& operator

#endif // COMPLEX_NUMBER_H ------------------ TEST_COMPLEX.CPP #include #include #include #include #include "complex_number.h"

using namespace std;

int main() { complex_number c1(2.3, 4.8); assert (c1.get_real_part() == 2.3); assert (c1.get_imag_part() == 4.8);

complex_number c2 (2.6); assert (c2.get_real_part() == 2.6); assert (c2.get_imag_part() == 0.0); complex_number c3; assert (c3.get_real_part() == 0.0); assert (c3.get_imag_part() == 0.0);

assert (conjugate(c1).get_real_part() == 2.3); assert (conjugate(c1).get_imag_part() == -4.8);

assert (abs (complex_modulus (c1) - 5.322593353)

assert (c1 != c2);

complex_number c5 (1.3, -4.1);

complex_number c6 = c4 + c5; assert (abs (c6.get_real_part() - 3.6)

complex_number c7 = c4 - c5; assert (abs (c7.get_real_part() - 1.0)

complex_number c8 = c4 * c5; assert (abs (c8.get_real_part() - 22.67)

complex_number c9 = c4 / c5; assert (abs (c9.get_real_part() + 0.902162162)

cout

COMPLEX_NUMBER.CPP (this is the one that needs to be edited)

#include "complex_number.h"

complex_number::complex_number(double r = 0.0, double i = 0.0) { real_part = r; imag_part = i; }

double complex_number::get_real_part () const{

return real_part; } /************implement the remaining functions here *******/

The purpose of this lab is to reinforce the concept of constructing and testing a class in C++. Specifically, the problem is to do problem 19 on page 95 of the text. Use the header file complex_number.h, complex_number.cpp and the test program test_complex.cpp provided for this lab. You will need to implement all the functions defined in the complex_number.h file in the implementation file. You do not need to make any changes to the test file. Remember that the your code must compile and run correctly on the cloudland server

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions