컴퓨터과학과
컴퓨터과학과 입학생, 재학생, 교수, 조교, 예비입학생분들을 위한 게시판입니다.
조회 수 2703 추천 수 1 댓글 4
Atachment
첨부 '1'

단축키

Prev이전 문서

Next다음 문서

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

 

 

클래스는 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
    대박만점 받으셨나봐요?
  • ?
    objc 2016.12.14 15:19
    출석대체시험을 잘 못본 과목이 있어서 F만 안 뜨길 빌었는데, 생각보다 점수가 잘 나왔어요.
    찍기에서 대박이 터졌습니다. -0-
  • ?
    태라 2016.12.14 15:20
    오~~부러운 신의 손. 저는 찍기에 똥손이라....
  • ?
    objc 2016.12.14 15:22
    다음에는 대박 터질 겁니다! (/*_*)/
    이제 과제물 점수만 기다리고 있어요~

List of Articles
분류 제목 글쓴이 조회 수
(필독) 공지 모음 / 코인(포인트) 얻는 방법 및 입문서 263 게시판관리 3389
커뮤니티를 홍보하고 포인트를 적립해보세요 15 게시판관리 606
ChatGPT 인공지능 기능을 포함하여 다양한 도구들을 사용해보세요 ⬆️ 6 file 게시판관리 885
질문 출석수업 시간 차곡차곡 732
일반 인사 드립니다 5 update 유수 689
질문 타전공인데요 컴퓨터의 이해 듣고있어요. 기말고사 시험 유형이 어떤가요? 1 LUNA경기 774
일반 html5 웹프로그래밍 장난아니네요 전주독거총각 837
질문 컴퓨터과학과 3학년 알고리즘(이소하 /줌 5반) 출석수업 과제 질문드립니다.. 1 cirotsee 659
질문 컴과 1학년 파이썬 기초 프로그래밍 박진희 교수님 출석 자료 어디서 찾나요 ㅜㅜ 1 짜르봄바 762
질문 대면수업이 보통 주말인가요..? 4 차곡차곡 652
일반 가입 인사 드립니다!! 4 Tartaros 654
질문 안녕하세요 교재 연습문제 주관식 문제 답을 어떻게 구할 수 있을까요? 루스 785
일반 올해부터 Onedrive 용량이 100기가로 줄었네요.. 1 Antonio 665
일반 안녕하세요 컴과 3학년 편입생입니다 2 빵찐 689
질문 출석수업 일정 및 장소 4 잇택잇 848
질문 강의에 대한 교재 어디서 확인할 수 있나요? 2 차곡차곡 614
질문 졸업유예시 학점을 높일수 있나요? 2 그로 112
질문 수강신청하는데 졸업하려면 전공필수 x점이상, 교양 x점 이상 이런거 없나요? 3 wnswnswns 196
일반 가입인사 드립니다~! 10 넓고얕은파랑 51
질문 비전공자 컴퓨터의 이해, 파이썬 프로그래밍 기초 들어도될까요? 3 꽃님이란다 394
질문 계절 학기 들으시는분 2 우지도리 158
질문 컴과 3학년 편입예정인데 3 하늘천 367
1학년 컴퓨터의이해기말시험대비워밍업학습자료 1 file 구름발치 186
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 29 Next
/ 29