C++

[C++] 명품 C++ 프로그래밍 실습문제 8장 2번

Hs’s Coding vlog 2023. 1. 13. 16:37

[C++]명품 C++ 프로그래밍 실습문제 8장 2번

[C++]명품 C++ programming 실습문제 8장 2번

명품 C++ 프로그래밍실습문제/연습문제 /C++

 

#include <iostream>
#include <string>
#include <ctime>
#include <cstdlib>
using namespace std;
class Circle{
    int radious;
public:
    Circle (int radious = 0) {this->radious = radious;}
    int getRadious(){return  radious;}
    void setRadious(int radious){this->radious = radious;}
    double getArea(){return  3.14*radious*radious;}
    
};
class NameCircle : public Circle{
    string name;
public:
    NameCircle(int radious=0, string name="default pizza name"){
        this->name = name;
    }
    void setName(string name){
        this->name = name;
        return;
    }
    string getName(){
        return name;
    }
    
};


int main() {
    NameCircle pizza[5];//정적배열을 선언했다.
    string name;
    int radious;
    
    cout << "5개의 정수 반지름과 원의 이름을 입력하세요" << endl;
    
    for(int i=0 ; i< 5 ;i++){ //배열에 모두 저장을했음
        cout << i+1 << ">> ";
        cin >> radious >> name ;
        pizza[i].setName(name);
        pizza[i].setRadious(radious);
    }
    
    int max = -999999;
    int maxindx ;
    for(int i=0 ;i<5 ; i++){
        if( max < pizza[i].getArea() ){
            max = pizza[i].getArea();
            maxindx = i;
        }
    }
    
    cout << "가장 면적이 큰피자는 " << pizza[maxindx].getName() << "입니다." << endl;

    
    return 0;
}