1answer.
Ask question
Login Signup
Ask question
All categories
  • English
  • Mathematics
  • Social Studies
  • Business
  • History
  • Health
  • Geography
  • Biology
  • Physics
  • Chemistry
  • Computers and Technology
  • Arts
  • World Languages
  • Spanish
  • French
  • German
  • Advanced Placement (AP)
  • SAT
  • Medicine
  • Law
  • Engineering
frosja888 [35]
4 years ago
7

Exercise1 : Defining Circle type and Creating a Driver Circle class private members double radius double xPos double yPos public

members double diameter() get the diameter of the Circle. It returns a value, diameter. double area() calculate the area of the Circle double circumference() calculate the circumference of the circle double getRadius() returns the radius double getX() returns the xPos value double getY() returns the yPos value void setX(double x) sets xPos, no requirements void setY(double y) sets yPos, no requirements double distanceToOrigin() returns the distance from the center of the circle to the origin HINT: Find out how to calculate the distance between two points and recall the origin is at (0,0) bool intersect(const Circle
Computers and Technology
1 answer:
asambeis [7]4 years ago
8 0

Answer:

Aee explaination

Explanation:

1) class_circle.h

#include<iostream>

#include<cmath>

#include<iomanip>

#define PI 3.14159

using namespace std;

class circle

{

private:

double radius,xPos,yPos;

public:

double diameter();

double area();

double circumference();

double getRadius();

double getX();

double getY();

void setX(double x);

void setY(double y);

double distanceToOrigin();

bool intersect(const circle& otherCircle);

bool setRadius(double r);

};

class CircleDriver:public circle

{

private:

circle circ1;

circle circ2;

void obtainCircles();

void printCircleInfo();

public:

void run();

};

2) class_circle.cpp

#include "class_circle.h"

double circle::diameter()

{

return (radius * 2);

}

double circle::area()

{

return PI * radius * radius;

}

double circle::circumference()

{

return 2 * PI * radius;

}

double circle::distanceToOrigin()

{

return sqrt((xPos * xPos) + (yPos * yPos));

}

double circle::getRadius()

{

return radius;

}

double circle::getX()

{

return xPos;

}

double circle::getY()

{

return yPos;

}

void circle::setX(double x)

{

xPos = x;

}

void circle::setY(double y)

{

yPos = y;

}

bool circle::setRadius(double r)

{

if(r > 0)

{

radius = r;

return true;

}

else

{

radius = 0;

return false;

}

}

bool circle::intersect(const circle& otherCircle)

{

double dist1 = (radius - otherCircle.radius) * (radius - otherCircle.radius);

double dist2 = ((xPos - otherCircle.xPos) * (xPos - otherCircle.xPos)) + ((yPos - otherCircle.yPos)*(yPos - otherCircle.yPos));

double dist3 = (radius + otherCircle.radius) * (radius + otherCircle.radius);

if((dist1 <= dist2 ) && (dist2 <= dist3) && (dist1 < dist3))

return true;

else

return false;

}

void CircleDriver::obtainCircles()

{

double x,y,rad;

cout<<"Enter xPos yPos circle 1 :";

cin>>x>>y;

do

{

cout<<"\n\nEnter radius for circle 1 :";

cin>>rad;

}while(rad <= 0);

circ1.setX(x);

circ1.setY(y);

circ1.setRadius(rad);

cout<<"\n\nEnter xPos yPos circle 2 :";

cin>>x>>y;

do

{

cout<<"\n\nEnter radius for circle 2 :";

cin>>rad;

}while(rad <= 0);

circ2.setX(x);

circ2.setY(y);

circ2.setRadius(rad);

}

void CircleDriver::printCircleInfo()

{

cout<<setprecision(6)<<endl;

cout<<"\n\nInformation for Circle 1:"<<endl;

cout<<"location:( "<<circ1.getX()<<" ,"<<circ1.getY()<<" )"<<endl;

cout<<"diameter: "<<circ1.diameter()<<endl;

cout<<"area: "<<circ1.area()<<endl;

cout<<"circumference: "<<circ1.circumference()<<endl;

cout<<"distance from the origin: "<<circ1.distanceToOrigin()<<endl;

cout<<"\n\nInformation for Circle 2:"<<endl;

cout<<"location:( "<<circ2.getX()<<" ,"<<circ2.getY()<<" )"<<endl;

cout<<"diameter: "<<circ2.diameter()<<endl;

cout<<"area: "<<circ2.area()<<endl;

cout<<"circumference: "<<circ2.circumference()<<endl;

cout<<"distance from the origin: "<<circ2.distanceToOrigin()<<endl<<endl;

if(circ1.intersect(circ2))

cout<<"The circles intersect."<<endl;

else

cout<<"The circles does not intersect."<<endl;

}

void CircleDriver::run()

{

obtainCircles();

printCircleInfo();

}

3) main.cpp

#include "class_circle.h"

int main()

{

CircleDriver myDriver;

myDriver.run();

return(0);

}

Please refer below output for reference

Enter xPos yPos circle 1 :0.0 50.0

Enter radius for circle 1 :100.0

Enter xPos yPos circle 2 :50.0 0.0

Enter radius for circle 2 :100.0

Information for Circle 1:

location:( 0 ,50 )

diameter: 200

area: 31415.9

circumference: 628.318

distance from the origin: 50

Information for Circle 2:

location:( 50 ,0 )

diameter: 200

area: 31415.9

circumference: 628.318

distance from the origin: 50

The circles intersect.

Process returned 0 (0x0) execution time : 18.245 s

Press any key to continue.

You might be interested in
One way to prepare for filing the PROFILE is to:
kozerog [31]
I think I am not sure that it is probably b
8 0
4 years ago
Read 2 more answers
Advantages of using Unicode to represent data
Alona [7]
Global source and binary.
Support for mixed-script computing environments.
Improved cross-platform data interoperability through a common codeset.
Space-efficient encoding scheme for data storage.
Reduced time-to-market for localized products.
Expanded market access.
5 0
3 years ago
What do economists call a decline in the real GDP combined with a temporary rise in price level?
ad-work [718]
A <span>stagflation is my answer.</span>
3 0
3 years ago
Read 2 more answers
. _______ view focuses on the text and content of a document, without much information on the page layout.
Georgia [21]
Read view
It allows to hide all instrument panels
5 0
3 years ago
(50 points) Write a programthat adds the first and last elements of an integer array and stored as the first element of the outp
Elena L [17]

Answer:

A is the input array

B = [] ; %B is initially an empty array

for i = 1:length(A)/2  %iterates over A until the midpoint of A

   B(i) = A(i) + A(end + 1 - i);  %This adds the numbers from the first half and %second half of A, and stores in B

end

disp(B)

3 0
4 years ago
Other questions:
  • What type of device is built into a tablet computer and can send data over radio waves to another device such as a laser printer
    10·1 answer
  • OSHA's mission is to: A. Ensure that all workers receive adequate workers' compensation payments B. Esnure that all workers rece
    8·2 answers
  • X = 0
    15·1 answer
  • Lines s, t, and u are perpendicular bisectors of the sides FGH and meet at J. If JG=2x+2, JH=2y-4, JF=8 and HI=3z-3, find x, y,
    15·2 answers
  • ____ testing is a straightforward testing technique that looks for vulnerabilities in a program or protocol by feeding random in
    6·1 answer
  • Ten examples of an interpreter
    8·1 answer
  • 3. Discuss microprocessor components, chips,
    15·1 answer
  • The different generation of computer explain in breif?​
    7·2 answers
  • Please answer this question​
    8·1 answer
  • You have two identical print devices that are set up in a work room. Currently, the Windows print server has two printers config
    13·1 answer
Add answer
Login
Not registered? Fast signup
Signup
Login Signup
Ask question!