명품 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

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

문제 : 다음과 같이 원을 추상화한 Circle 클래스가 있다. Circle 클래스와 main() 함수를 작성하고 3개의 Circle 객체를 가진 배열을 선언하고, 반지름 값을 입력받고 면적이 100보다 큰 원의 개수를 출력하는 프로그램을 완성하라. Circle 클래스도 완성하라. 1 2 3 4 5 6 class Circle { int radius; // 원의 반지름 값 public: void setRadius(int radius); // 반지름을 설정한다. double getArea(); // 면적을 리턴한다. }; 목적 및 힌트 : 객체 배열 다루기 연습 ...

2020년 3월 4일 · 1 분 · Sobamemil

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

문제 : string 클래스를 이용하여 사용자가 입력한 영문 한 줄을 문자열로 입력받고 거꾸로 출력하는 프로그램을 작성하라. 목적 및 힌트 : string 클래스로 문자열 다루기 실행 결과 : 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 #include #include using namespace std; int main() { string str; cout << "아래 한 줄을 입력하세요.(exit를 입력하면 종료합니다)"; while(true){ cout << endl << ">>"; getline(cin,str); if(str == "exit") break; for(int i = str.length()-1; i>=0; i--) cout << str[i]; } } 설명 : ...

2020년 3월 4일 · 1 분 · Sobamemil

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

문제 : string 클래스를 이용하여 사용자가 입력한 영문 한 줄을 입력받고 글자 하나만 랜덤하게 수정하여 출력하는 프로그램을 작성하라. 목적 및 힌트 : string 클래스로 문자열 다루기 랜덤 정수를 발생시키기 위해 다음 두 라인의 코드가 필요하며, 와 헤더 파일을 include 해야 한다. 1 2 srand((unsinged)time(0)); // 시작할 때마다, 다른 랜덤수를 발생시키기 위한 seed 설정 int n = rand(); // 0에서 RAND_MAX(32767) 사이의 랜덤한 정수 발생 실행 결과 : ...

2020년 3월 4일 · 1 분 · Sobamemil

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

문제 : 다음과 같은 Sample 클래스가 있다. 1 2 3 4 5 6 7 8 9 10 11 12 class Sample{ int *p; int size; public: Sample(int n) { // 생성자 size = n; p = new int [n]; // n개 정수 배열의 동적 생성 } void read(); // 동적 할당받은 정수 배열 p에 사용자로부터 정수를 입력 받음 void write(); // 정수 배열을 화면에 출력 int big(); // 정수 배열에서 가장 큰 수 리턴 ~Sample(); // 소멸자 }; 다음 main() 함수가 실행되도록 Sample 클래스를 완성하라. ...

2020년 3월 4일 · 2 분 · Sobamemil