문제 번호 1490. -- 2020년 2학기 객체기반SW설계 중간고사 - 3번

1490: 2020년 2학기 객체기반SW설계 중간고사 - 3번

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 144  해결 문제 수: 100
[제출][채점 상황 열람][게시판]

문제 설명

class Person은 사람 이름과 나이를 저장한다.

사람 이름은 string name, 

나이는 int age로 저장하며, 

public member로 선언된다.

class People은 class Person의 객체들을 저장한다.(힌트. vector에 저장하면 편하다)

method void addPerson(string _name, int _age)는 _name과 _age를 갖는 Person 객체를 만들어 저장한다.

method int getCount()는 저장된 Person 객체들의 수를 반환하며

method Person getPersonByName(string _name)은 이름 _name을 갖는 Person 객체를 반환한다.

** 단, 모든 사람들의 이름은 다르다고 하자.

class Person과 class People을 정의하여

다음 main() 함수와 함께 동작할 수 있도록 하시오.

 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
32
33
34
35
36
37
38
39
40
41
42
#include <iostream>
#include <string>
#include <vector>

using namespace std;


/*-------------------------------------------
 class Person과 People을 정의하시오.
---------------------------------------------*/

int main()
{
	string name;
	int age = 20;

	People p;

	while (true)
	{
		getline(cin, name);
		cin >> age;
		cin.ignore();

		if (age < 0)
		{
			break;
		}

		p.addPerson(name, age);

	}

	getline(cin, name);

	cout << p.getCount() << endl;
	Person _i = p.getPersonByName(name);
	cout << _i.name << " " << _i.age << endl;

	return 0;

}

입력

출력

도움말

출처

[제출][채점 상황 열람]