컴퓨터과학과
컴퓨터과학과 입학생, 재학생, 교수, 조교, 예비입학생분들을 위한 게시판입니다.
조회 수 2701 추천 수 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
번호 분류 제목 글쓴이 조회 수
공지 (필독) 공지 모음 / 코인(포인트) 얻는 방법 및 입문서 259 게시판관리 3317
공지 커뮤니티를 홍보하고 포인트를 적립해보세요 13 게시판관리 567
공지 ChatGPT 인공지능 기능을 포함하여 다양한 도구들을 사용해보세요 ⬆️ 6 file 게시판관리 738
567 일반 html5 웹프로그래밍 장난아니네요 전주독거총각 168
566 질문 컴퓨터과학과 3학년 알고리즘(이소하 /줌 5반) 출석수업 과제 질문드립니다.. 1 cirotsee 617
565 질문 컴과 1학년 파이썬 기초 프로그래밍 박진희 교수님 출석 자료 어디서 찾나요 ㅜㅜ 1 짜르봄바 712
564 질문 대면수업이 보통 주말인가요..? 4 차곡차곡 622
563 일반 가입 인사 드립니다!! 1 Tartaros 647
562 질문 안녕하세요 교재 연습문제 주관식 문제 답을 어떻게 구할 수 있을까요? 루스 756
561 일반 올해부터 Onedrive 용량이 100기가로 줄었네요.. 1 Antonio 638
560 일반 안녕하세요 컴과 3학년 편입생입니다 1 빵찐 667
559 질문 출석수업 일정 및 장소 4 잇택잇 827
558 질문 강의에 대한 교재 어디서 확인할 수 있나요? 2 차곡차곡 592
557 질문 졸업유예시 학점을 높일수 있나요? 2 그로 98
556 질문 수강신청하는데 졸업하려면 전공필수 x점이상, 교양 x점 이상 이런거 없나요? 3 wnswnswns 189
555 일반 가입인사 드립니다~! 7 넓고얕은파랑 44
554 질문 비전공자 컴퓨터의 이해, 파이썬 프로그래밍 기초 들어도될까요? 3 꽃님이란다 372
553 질문 계절 학기 들으시는분 2 우지도리 145
552 질문 컴과 3학년 편입예정인데 3 하늘천 340
551 1학년 컴퓨터의이해기말시험대비워밍업학습자료 1 file 구름발치 151
550 정보 4학년 2학기 까지의 기말고사를 끝낸 지금...후배들에게... 13 개미허리 479
549 일반 대중영화의 이해 기말과제 만점 받은 학우님 계신가요? jisu 90
548 일반 학습용 인텔리제이 방통대 계정으로 발급받으신 분 계신가요?? 3 만금대부 973
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 29 Next
/ 29