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

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

문제 : string 클래스를 이용하여 빈칸을 포함하는 문자열을 입력받고 문자열에서 'a'가 몇개 있는지 출력하는 프로그램을 작성해보자. 목적 및 힌트 : getline(), string 클래스 활용 실행 결과 : 코드 : (1) 문자열에서 'a'를 찾기 위해 string 클래스의 멤버 at()나 []를 이용하여 작성하라. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include #include using namespace std; int main() { string str; cout << "문자열 입력>>"; getline(cin,str); int length = str.length(); int num = 0; for(int i=0; i<length; i++){ if(str[i] == 'a') num++; } cout << "문자 a는 " << num << "개 있습니다." ; } (2) 문자열에서 'a'를 찾기 위해 string 클래스의 find() 멤버 함수를 이용하여 작성하라. text.find('a', index);는 text 문자열의 index 위치부터 'a'를 찾아 문자열 내 인덱스를 리턴한다. ...

2020년 3월 4일 · 2 분 · Sobamemil

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

문제 : 정수 공간 5개를 배열로 동적 할당받고, 정수를 5개 입력받아 평균을 구하고 출력한 뒤 배열을 소멸시키도록 main() 함수를 작성하라. 목적 및 힌트 : 배열의 동적 할당 및 반환 실행 결과 : 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include using namespace std; int main() { int *p = new int[5]; double sum = 0; cout << "정수 5개 입력>>"; for(int i=0; i<5; i++) { cin >> p[i]; sum += p[i]; } cout << "평균 " << sum/5; delete [] p; } 설명 : ...

2020년 3월 4일 · 1 분 · Sobamemil

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

문제 : 다음은 색의 3요소인 red, green, blue로 색을 추상화한 Color 클래스를 선언하고 활용하는 코드이다. 빈칸을 채워라. red, green, blue는 0~255의 값만 가진다. 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 26 27 28 29 30 31 #include using namespace std; class Color { int red, green, blue; public: Color() {red = green = blue = 0;} Color(int r, int g, int b) {red = r; green = g; blue = b;} void setColor(int r, int g, int b) {red = r; green = g; blue = b;} void show() {cout << red << ' ' << green << ' ' << blue << endl;} }; int main() { Color screenColor(255,0,0); // 빨간색의 screenColor 객체 생성 Color *p; // Color 타입의 포인터 변수 p 선언 _____ // (1) p가 screenColor의 주소를 가지도록 코드 작성 _____ // (2) p와 show()를 이용하여 screenColor 색 출력 _____ // (3) Color의 일차원 배열 colors 선언. 원소는 3개 _____ // (4) p가 colors 배열을 가리키도록 코드 작성 // (5) p와 setColor()를 이용하여 colors[0], colors[1], colors[2]가 // 각각 빨강, 초록, 파랑색을 가지도록 코드 작성 _____ _____ _____ // (6) p와 show()를 이용하여 colors 배열의 모든 객체의 색 출력. for 문 이용 _____ _____ _____ } 목적 및 힌트 : ...

2020년 3월 4일 · 3 분 · Sobamemil

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

문제 : 컴퓨터의 주기억장치를 모델링하는 클래스의 Ram을 구현하려고 한다. Ram 클래스는 데이터가 기록될 메모리 공간과 크기 정보를 가지고, 주어진 주소에 데이터를 기록하고(write), 주어진 주소로부터 데이터를 읽어 온다(read). Ram 클래스는 다음과 같이 선언된다. 1 2 3 4 5 6 7 8 9 class Ram { char mem[100 * 1024]; // 100KB 메모리. 한 번지는 한 바이트이므로 char 타입 사용 int size; public: Ram(); // mem 배열을 0으로 초기화하고 size를 100*1024로 초기화 ~Ram(); // "메모리 제거됨" 문자열 출력 char read(int address); // address 주소의 메모리 바이트 리턴 void write(int address, char value); // address 주소에 한 바이트로 value 저장 }; 다음 main() 함수는 100 번지에 20을 저장하고, 101 번지에 30을 저장한 후, 100 번지와 101 번지의 값을 읽고 더하여 102 번지에 저장하는 코드이다. ...

2020년 3월 3일 · 3 분 · Sobamemil