//Corey Williams //COP3530 01Z //Project 4 /*Write a C++ or Java application that creates a linked list of Circle objects/structures (i.e., class must be created). The application can use the "IntSLLNode" and "IntSLList" classes (pp. 78 - 83) as a guide. The application must provide the following features. Allow insertion of multiple "Circle" objects/structures. The Circle contains a "radius" data member. The Circle also uses functions/methods "setRadius", "getRadius" and calculateArea (returns a double data type). Invoke a method/function "DisplayAllElements" (i.e., must be written, traversal required; refer to "isInList" method, pg. 80) that receives a "reference/pointer" formal parameter. This formal parameter specifies the "head" of the list. The function/method must display all elements "position", "radius" , and "area" */ #define _USE_MATH_DEFINES #include #include using namespace std; class Circle { private: double radius; public: Circle(double r) { radius = r; } double getRadius() { return radius; } void setRadius(double r) { radius = r; } double calculateArea() { return M_PI * radius * radius; } }; class CirSLLNode { public: CirSLLNode() { next = 0; } CirSLLNode(int el, CirSLLNode* ptr = 0) { info = el; next = ptr; } int info; CirSLLNode* next; }; class CirSLList { public: CirSLList() { head = tail = 0; } ~CirSLList(); int isEmpty() { return head == 0; } void addNode(Circle); private: CirSLLNode* head, * tail; }; int main() { double r; string userResp; do { cout << "Enter radius for first circle: "; cin >> r; Circle tmpCir(r); //add tmpCir to linked list cout << "Would you like to add another circle? Y/N: "; cin >> userResp; } while (userResp != "N" and userResp != "n"); }