문제 :

map 컨테이너를 이용하여 (이름, 성적)을 저장하고 이름으로 성적을 조회하는 점수 관리 프로그램을 만들어라.

이름은 빈칸 없이 입력하는 것을 원칙으로 한다.

실행 결과 :

목적 및 힌트 :

map 컨테이너 활용

이름과 점수를 쌍으로 저장할 맵 컨테이너로 map<string, int>를 이용하면 된다.

코드 :

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 #include #include #include using namespace std; int main() { map<string, int> Score; // map 컨테이너 생성. 키는 한글 이름, 값은 정수 점수 cout « “***** 점수관리 프로그램 HIGH SCORE을 시작합니다 *****\n”; while(true){ int num; int score; string name; cout « “입력:1, 조회:2, 종료:3 » “; cin » num; switch (num){ case 1: cout « “이름과 점수» “; cin » name » score; Score.insert(make_pair(name, score)); // map에 저장 break; case 2: cout « “이름 » “; cin » name; if(Score.find(name) == Score.end()) // name ‘키’를 끝까지 찾았는데 없음 cout « “없음” « endl; else cout « name « “의 점수는 " «Score[name] « endl; // Score에서 name의 값을 찾아 출력 break; case 3: cout « “프로그램을 종료합니다…\n”; return 0; default : cout « “제대로 입력해\n”; break; } } }

설명 :

map 컨테이너를 사용하기 위해서는 map 헤더파일을 include 해주어야 합니다.

map 컨테이너는 key와 value가 쌍으로 저장되는 컨테이너 입니다.

key는 고유한 값이기 때문에 중복으로 저장될 수 없습니다.

map에 대한 내용은 아래 링크에서 자세히 설명되어 있습니다.

http://www.cplusplus.com/reference/map/map/

[map - C++ Reference

difference_typea signed integral type, identical to: iterator_traits ::difference_type usually the same as ptrdiff_t

www.cplusplus.com](http://www.cplusplus.com/reference/map/map/)

공유하기

게시글 관리

코딩은 내일부터 ;

저작자표시 (새창열림)

💻 개발 & CS > C++ 프로그래밍’ 카테고리의 다른 글

명품 C++ programming 실습 문제 10장 15번  (3) 2020.03.11
명품 C++ programming 실습 문제 10장 14번  (1) 2020.03.11
명품 C++ programming 실습 문제 10장 12번  (3) 2020.03.10
명품 C++ programming 실습 문제 10장 11번  (2) 2020.03.10
명품 C++ programming 실습 문제 10장 10번  (1) 2020.03.10