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

I need some help with my script please. #include <iostream> using namespace std;

ID: 3918970 • Letter: I

Question

I need some help with my script please.

#include <iostream>

using namespace std;

double pi = 3.14;

class Circle {

private:

double radius;

public:

Circle(); {

radius = 1;

}

Circle(double r) {

radius = r;

}

void setRadius(double r) {

radius = r; {

if (radius != 1)

throw invalid_argument("Invalid value for radius");

else

setRadius(r);

}

}

double getRadius() {

return radius;

}

double getArea() {

return pi * radius*radius;

}

double getDiameter() {

return 2 * radius;

}

double getCircumference() {

return 2 * pi*radius;

}

};

int main() {

Circle c1;

double r;

cout << "Circle 1: " << endl;

cout << "Radius: " << c1.getRadius() << endl;

cout << "Diameter: " << c1.getDiameter() << endl;

cout << "Area: " << c1.getCircumference() << endl;

cout << "Please enter radius: ";

cin >> r;

c1.setRadius(r);

cout << "Circle 1: " << r << ":" << endl;

cout << "Radius: " << c1.getRadius() << endl;

cout << "Area: " << c1.getArea() << endl;

cout << "Circumference: " << c1.getCircumference() << endl;

circle c2(-1);

cout << "Circle 2: " << endl;

cout << "Radius: " << c2.getRadius() << endl;

cout << "Area: " << c2.getArea() << endl;

cout << "Circumference: " << c2.getCircumference() << endl;

return 0;

}

Define the class Circle. The Circle class has a private data member radius (double) Define constructors for the Circle class. Include set and get functions for the radius data member. Include a function called area that returns the area of the Circle Overload the operator “

Explanation / Answer

#include <iostream>
#include<algorithm>
#include<vector>
#include<stdexcept>
#include<cstdlib>
#include<ctime>
using namespace std;
double pi = 3.14;
class Circle {
private:
double radius;
public:
Circle(){
radius = 1;
}
Circle(double r) {
radius = r;
}
void setRadius(double r) {
radius = r; {
if (radius != 1)
throw invalid_argument("Invalid value for radius");
else
setRadius(r);
}
}
double getRadius()const{
return radius;
}
double getArea()const{
return pi * radius*radius;
}
double getDiameter()const{
return 2 * radius;
}
double getCircumference()const{
return 2 * pi*radius;
}
friend ostream& operator<<(ostream &ous,const Circle &c){
ous << "(" <<c.getRadius()<<", "<<c.getArea()<<")";
return ous;
}
bool operator<(const Circle &c)const{
return getRadius() < c.getRadius();
}
};

bool comCirA(const Circle &c1,const Circle &c2){
return c1.getArea() < c2.getArea();
}
Circle object(){
int r = rand()%5 + 1;
return Circle(r);
}
void printCircle(const Circle &c){
cout<<c;
}
bool isLessThan10(const Circle &c){
return c.getArea() < 10;
}
int main() {
vector<Circle> circles(10);
srand(time(0));
generate(circles.begin(),circles.end(),object);
for_each(circles.begin(),circles.end(),printCircle);
cout<<endl;
sort(circles.begin(),circles.end());
for_each(circles.begin(),circles.end(),printCircle);
cout<<endl;
sort(circles.begin(),circles.end(),comCirA);
for_each(circles.begin(),circles.end(),printCircle);
cout<<endl;
random_shuffle(circles.begin(),circles.end());
for_each(circles.begin(),circles.end(),printCircle);
cout<<endl;
int count = count_if(circles.begin(),circles.end(),isLessThan10);
cout<<" Number of circle area less than 10 = "<<count<<endl;
replace_if(circles.begin(),circles.end(),isLessThan10,Circle(10));
for_each(circles.begin(),circles.end(),printCircle);
cout<<endl;
return 0;
}