일반글
2016.12.14 13:15

제가 제출한 C++ 과제 요약

조회 수 2173 추천 수 1 댓글 4
Atachment
첨부 '1'

덜덜 떨던 과목 하나가 생각보다 점수가 잘 나와서 기쁜 마음으로 글 올립니다. :)

 

 

클래스는 2개 작성했습니다.

 

 

1. 기본 단위가 될 Restaurant 클래스 작성

 

이 클래스에 담을 정보는 각 점수별 개수 저장을 위한 int scoreCount[5],

그리고 가게의 이름을 저장할 std::string name,

 

이렇게 두가지입니다.

 

그리고 이 클래스의 핵심 기능으로는 

점수를 받아서 개수를 +1 해줄 int addScore(int score);

가게의 평균 점수를 알려줄 float score(void);

가게의 정보를 화면에 출력해줄 void printInfo(void);

 

이렇게 작성했습니다.

 

 

2. 레스토랑 클래스들을 관리할 RestaurantManager 클래스 작성

 

이 클래스에 담을 정보는 레스토랑들의 목록인 std::vector<Restaurant> restaurantList 하나입니다.

 

그리고 핵심 기능으로는 새로운 레스토랑을 추가할 수 있는 void addRestaurant(const char* name, int score=0);

그리고 기존 레스토랑에 점수를 추가할 수 있는 void addRestaurantScore(const char* name, int score);

특정 점수 이상의 가게를 랜덤으로 하나 출력해주는 void pickOneRestaurant(float score);

입출력을 위해 가게 이름 목록을 들고 오는 std::vector<std::string> restaurantNameList(void);

 

이렇게 네가지입니다.

 

 

 

 

문제풀이 과정에서 가게 이름의 중복은 고려하지 않았습니다. 중복이 없다는 전제 하에 이름으로만 찾아서 처리한 거죠. -.-;

포인터 사용은 거의 없이 작성했습니다. 실제 코드는 여기에 작성한 것과 조금 다릅니다. 생성자부터 해서 메소드가 더 많이 있습니다.

 

 

#1 프로그램에서 RestaurantManager 의 인스턴스를 하나 만들어서 씁니다. manager 라 지칭하겠습니다.

#2 가게를 추가할 필요가 있을 경우 manager.addRestaurant(이름, 점수)를 호출합니다. 점수 안 넣으면 디폴트로 0이 들어갑니다.

#3 가게 목록을 보여줄 때는 manager.restaurantNameList() 를 호출해서 데이터를 들고 와 화면에 보여줍니다.

#4 선택한 가게의 점수를 추가할 때는 manager.addRestaurantScore(이름, 점수)를 호출합니다.

#5 무작위로 가게를 하나 추천할 때는 manager.pickOneRestaurant(0)을 호출합니다. 0점 이상의 가게니까 모든 가게 중에서 하나를 고릅니다.

#6 평점 3점 이상의 우수 가게를 추천할 때는 manager.pickOneRestaurant(3)을 호출합니다. 

 

 

std::vector 를 사용해서 Restaurant 들을 들고 있는 이유는 std::vector 는 push_back 을 통해 새로운 가게를 추가하면 알아서 저장공간을 늘려주기 때문입니다. 마찬가지로 std::string 으로 가게 이름을 저장하는 것도 길이가 길든 짧든 자동으로 맞추어 주기 때문입니다.

 

 

과제가 뭔지 잊으셨을까 해서 이미지 첨부합니다.

 

 

cplusplus.png

 

  • ?
    열정편입생 2016.12.14 14:06
    비회원은 작성후 99999999분 이내의 댓글은 읽을 수 없습니다.
  • ?
    objc 2016.12.14 15:19
    비회원은 작성후 99999999분 이내의 댓글은 읽을 수 없습니다.
  • ?
    태라 2016.12.14 15:20
    비회원은 작성후 99999999분 이내의 댓글은 읽을 수 없습니다.
  • ?
    objc 2016.12.14 15:22
    비회원은 작성후 99999999분 이내의 댓글은 읽을 수 없습니다.

컴퓨터과학과

한국방송통신대학교 컴퓨터과학과 신입생/재학생/교수님등 관련된 분들을 위한 공개 게시판입니다.

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
공지 시험정보 방송통신대학교 - 컴퓨터과학과 학우/회원들만 사용하도록 만들어진 게시판입니다. LeinuJ 2014.02.10 7353
Hot글 3학년 이번에 3-2로 편입한 사람입니다. 수강신청과목 도움이 필요합니다 ! 3 HowdyTX 2020.07.06 640
Hot글 자료실 시뮬레이션 교재 좀... 2 파파킨 2020.11.10 212
공지 각 학과게시판은 자유롭게 이야기하는 교류공간입니다. 방송대커뮤니티 2021.03.30 11
공지 포인트를 얻는방법 - 부여/차감 획득조건표 및 파일 다운로드 방법 23 updatefile 방송대커뮤니티 2021.01.06 594
144 시험정보 1학년 대체시험날짜 2 변화 2017.10.12 268
143 일반글 시뮬레이션 과목 들으시거나 교재 있으신분들 도움이 필요합니다. 1 file 201434 2017.10.10 275
142 일반글 소프트웨어 경진대회 제출했어요. 4 objc 2017.08.14 373
141 일반글 안녕하세요 이번에 3학년 2학기로 편입을 하게 되었습니다. 2 방통통방통 2017.08.09 252
140 일반글 반갑습니다. 1 silverleaf 2017.08.09 168
139 자료실 포렌식 자료 3 file 이한솔 2017.07.27 307
138 2학년 HTML프로그래밍 중간고사 작성한 자료 5 file 열정편입생 2017.04.18 480
137 1학년 안녕하세요 어제 처음 사진의 이해 시험을 봣네요 1 노력해야되 2017.04.17 421
136 일반글 오늘 시험 문제가 뭐였죠.. 3 ViTZrO 2017.04.16 347
135 시험정보 HTML/XML (2016,2015) 중간고사 기출문제 정답 공유 4 file 붕어빵아찌 2017.04.14 706
134 일반글 HTML/XML 중간고사 기출문제는 답이 없군요 ㅜ_ㅜ 1 붕어빵아찌 2017.04.14 251
133 1학년 인천지역대학 스터디모임 있나요? 1 wlstjd620 2017.03.04 363
132 3학년 오늘 ot 다들가시나요?? 1 유서기 2017.02.25 530
131 일반글 혹시 머신러닝에 관심 있는 분 계신가요? 4 군도 2017.01.04 607
130 자료실 기출문제 반복 패턴 과목 질문 1 열정편입생 2017.01.02 447
» 일반글 제가 제출한 C++ 과제 요약 4 file objc 2016.12.14 2173
128 일반글 안녕하세요 연초에 3학년 1학기로 편입했습니다. 10 objc 2016.12.12 495
127 일반글 컴퓨터과학과 선배님들 궁금한 것이 있습니다. 5 윤태건 2016.12.10 935
126 시험정보 컴퓨터과학과 2학년 대체/기말시험 2013-2015년 기출문제 모음집 43 file 원격대학교육의이해 2016.11.21 1433
125 2학년 [HTML/XML] 기말대비 요점정리 2 file 이은석 2016.11.14 632
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 11 Next
/ 11