명품 C++ programming 실습 문제 5장 3번

문제 : 다음과 같이 작동하도록 combine() 함수를 작성하라. 1 2 3 4 5 6 int main() { string text1("I love you"), text2("very much"); string text3; // 비어있는 문자열 combine(text1, text2, text3); // text1과 " ", 그리고 text2를 덧붙여 text3 만들기 cout << text3; // "I love you very much" 출력 } 실행 결과 : 목적 및 힌트 : string 클래스와 참조 사용 연습 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include #include using namespace std; void combine(string t1, string t2, string &t3){ t3 = t1 + " " + t2; } int main() { string text1("I love you"), text2("very much"); string text3; // 비어있는 문자열 combine(text1, text2, text3); // text1과 " ", 그리고 text2를 덧붙여 text3 만들기 cout << text3; // "I love you very much" 출력 } 설명 : ...

2020년 3월 5일 · 1 분 · Sobamemil

명품 C++ programming 실습 문제 5장 2번

문제 : 다음 main() 함수와 실행 결과를 참고하여 half() 함수를 작성하라. 1 2 3 4 5 int main() { double n = 20; half(n); // n의 반값을 구해 n을 바꾼다. cout << n; // 10이 출력된다. } 실행 결과 : 목적 및 힌트 : 참조 연습 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 #include using namespace std; half(double &num){ // 참조에 의한 호출 num /= 2; // num으로 넘어온 본래의 값이 바뀜 } int main() { double n = 20; half(n); // n의 반값을 구해 n을 바꾼다. cout << n; // 10이 출력된다. } 설명 : ...

2020년 3월 5일 · 1 분 · Sobamemil

명품 C++ programming 실습 문제 5장 1번

문제 : 두 개의 Circle 객체를 교환하는 swap() 함수를 '참조에 의한 호출'이 되도록 작성하고 호출하는 프로그램을 작성하라. 목적 및 힌트 : 참조에 의한 호출 연습 실행 결과 : 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include using namespace std; class Circle { int num; public: Circle(); Circle(int num) {this->num = num;} void setNum(int num) {this->num = num;} int getNum() {return num;} }; void swap(Circle &a, Circle &b) { int swap; swap = a.getNum(); a.setNum(b.getNum()); b.setNum(swap); } int main() { Circle a(5), b(10); cout << a.getNum() << " " << b.getNum() << endl; swap(a,b); cout << a.getNum() << " " << b.getNum(); } 설명 : ...

2020년 3월 5일 · 1 분 · Sobamemil

명품 C++ programming 실습 문제 4장 14번

문제 : 겜블링 게임을 만들어보자. 두 사람이 게임을 진행하며, 선수의 이름을 초기에 입력 받는다. 선수가 번갈아 자신의 차례에서 키를 치면 랜덤한 3개의 수가 생성되고 모두 동일한 수가 나오면 게임에서 이기게 된다. 숫자의 범위가 너무 크면 3개의 숫자가 일치할 가능성이 낮아 숫자의 범위를 0~2로 제한한다. 랜덤 정수 생성은 문제 5번의 힌트를 참고하라. 선수는 Player 클래스로 작성하고, 2명의 선수는 배열로 구성하라. 그리고 게임은 GamblingGame 클래스로 작성하라. 2020/03/04 - [C++/명품 C++ programming] - 명품 C++ programming 실습 문제 4장 5번 ...

2020년 3월 4일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 4장 13번

문제 : 영문자로 구성된 텍스트에 대해 각 알파벳에 해당하는 문자가 몇 개인지 출력하는 히스토그램 클래스 Histogram을 만들어보자. 대문자는 모두 소문자로 변환하여 처리한다. Histogram 클래스를 활용하는 사례와 실행 결과는 다음과 같다. 1 2 3 4 5 Histogram elvisHisto("Wise men say, only fools rush in But I can't help, "); elvisHisto.put("falling in love with you"); elvisHisto.putc('-'); elvisHisto.put("Elvis Presley"); elvisHisto.print(); 실행 결과 : 목적 및 힌트 : 클래스 만들기 종합 응용 ...

2020년 3월 4일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 4장 12번

문제 : 다음은 이름과 반지름을 속성으로 가진 Circle 클래스와 이들을 배열로 관리하는 CircleManager 클래스이다. 1 2 3 4 5 6 7 8 class Circle{ int radius; // 원의 반지름 값 string name; // 원의 이름 public: void setCircle(string name, int radius); // 이름과 반지름 설정 double getArea(); string getName(); }; 1 2 3 4 5 6 7 8 9 class CircleManager { Circle *p; // Circle 배열에 대한 포인터 int size; // 배열의 크기 public: CircleManager(int size); // size 크기의 배열을 동적 생성. 사용자로부터 입력 완료 ~CircleManager(); void searchByName(); // 사용자로부터 원의 이름을 입력받아 면적 출력 void searchByArea(); // 사용자로부터 면적을 입력받아 면적보다 큰 원의 이름 출력 }; 키보드에서 원의 개수를 입력받고, 그 개수만큼 원의 이름과 반지름을 입력받고, 다음과 같이 실행되도록 main() 함수를 작성하라. ...

2020년 3월 4일 · 3 분 · Sobamemil

명품 C++ programming 실습 문제 4장 11번

문제 : 다음은 커피자판기로 작동하는 프로그램을 만들기 위해 필요한 두 클래스이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 class CoffeeVendingMachine { // 커피자판기를 표현하는 클래스 Container tong[3]; // tong[0]는 커피, tong[1]은 물, tong[2]는 설탕통을 나타냄 void fill(); // 3개의 통을 모두 10으로 채움 void selectEspresso(); // 에스프레소를 선택한 경우, 커피 1, 물 1 소모 void selectAmericano(); // 아메리카노를 선택한 경우, 커피 1, 물 2 소모 void selectSugarCoffee(); // 설탕커피를 선택한 경우, 커피 1, 물 2, 설탕 1 소모 void show(); // 현재 커피, 물, 설탕의 잔량 출력 public: void run(); // 커피 자판기 작동 }; class Container { // 통 하나를 나타내는 클래스 int size; // 현재 저장 량, 최대 저장량은 10 public: Container() {size = 10;} void fill(); // 최대량(10)으로 채우기 void consume(); // 1 만큼 소모하기 int getSize(); // 현재 크기 리턴 }; 다음과 같이 실행되도록 main() 함수와 CoffeeVendingMachine, Container를 완성하라. ...

2020년 3월 4일 · 3 분 · Sobamemil

명품 C++ programming 실습 문제 4장 10번

문제 : 다음에서 Person은 사람을, Family는 가족을 추상화한 클래스로서 완성되지 않은 클래스이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 class Person { string name; public: Person(string name) { this->name = name;} string getName() { return name;} }; class Family { Person *p; // Person 배열 포인터 int size; // Person 배열의 크기. 가족 구성원 수 public: Family(string name, int size); // size 개수만큼 Person 배열 동적 생성 void show(); // 모든 가족 구성원 출력 ~Family(); }; 다음 main()이 작동하도록 Person과 Family 클래스에 필요한 멤버들을 추가하고 코드를 완성하라. ...

2020년 3월 4일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 4장 9번

문제 : 다음과 같은 Person 클래스가 있다. Person 클래스와 main() 함수를 작성하여, 3개의 Person 객체를 가지는 배열을 선언하고, 다음과 같이 키보드에서 이름과 전화번호를 입력받아 출력하고 검색하는 프로그램을 완성하라. 1 2 3 4 5 6 7 8 9 class Person{ string name; string tel; public: Person(); string getName() { return name; } string getTel() { return tel; } void set(string name, string tel); }; 목적 및 힌트 : 객체 배열과 string 응용 연습 ...

2020년 3월 4일 · 2 분 · Sobamemil

명품 C++ programming 실습 문제 4장 8번

문제 : 실습 문제 7의 문제를 수정해보자. 사용자로부터 다음과 같이 원의 개수를 입력받고, 원의 개수만큼 반지름을 입력받는 방식으로 수정하라. 원의 개수에 따라 동적으로 배열을 할당받아야 한다. 2020/03/04 - [C++/명품 C++ programming] - 명품 C++ programming 실습 문제 4장 7번 [명품 C++ programming 실습 문제 4장 7번 문제 : 다음과 같이 원을 추상화한 Circle 클래스가 있다. Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프.. ...

2020년 3월 4일 · 2 분 · Sobamemil