#include <iostream>
#include <cstring>
using namespace std;
class Circle {
int radius;
char name[20];
public:
void setCircle(char *name, int rad);
double getArea();
char *getname();
};
void Circle::setCircle(char *circlename, int rad) {
strcpy_s(name, circlename);
radius = rad;
}
double Circle::getArea() {
return 3.14*radius*radius;
}
char *Circle::getname() {
return name;
}
class Circlemanager {
Circle *p;
int size;
public:
Circlemanager(int size) {
p = new Circle[size];
if (!p) {
cout << "동적 할당 오류";
exit(1);
}
for (int i = 0; i < size; i++) {
char Mname[20];
int temp;
cout << "원" << i + 1 << "의 이름과 반지름 입력 :";
cin >> Mname;
cin >> temp;
p[i].setCircle(Mname, temp);
}
}
~Circlemanager() { delete[] p; }
void searchByName();
void searchByArea();
};
void Circlemanager::searchByName() {
char cname[20];
cout << "검색하고자 하는 원의 이름 : ";
cin >> cname;
for (int i = 0; i < size; i++) {
if(strcmp(cname, p[i].getname())==0)
cout << cname << "의 면적은 " << p[i].getArea() << endl;
}
}
void Circlemanager::searchByArea() {
int n;
cout << "최소 면적을 정수로 입력하세요>>";
cin >> n;
cout << n << "보다 큰 원을 검색합니다.\n";
for (int i = 0; i < size; i++) {
}
}
int main(){
int n;
Circle *p;
cout << "원의 개수>>";
cin >> n;
Circlemanager cir(n);
cir.Circlemanager::searchByName();
cir.Circlemanager::searchByArea();
return 0;
}
코드인데 for (int i = 0; i < size; i++) {
if(strcmp(cname, p[i].getname())==0)
cout << cname << "의 면적은 " << p[i].getArea() << endl;
}
저 부분이 아예 실행이 안되는 것같네요,,,, 어디서 틀렸는지 알려주실 수 있나요