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;
}