컴퓨터과학과

컴퓨터과학과 학생 게시판

조회 수 2882 추천 수 2 댓글 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

    비회원은 댓글을 읽을 수 없습니다.

    로그인 후에 바로 열람 가능합니다
  • ?
    태라 2016.12.14 15:20

    비회원은 댓글을 읽을 수 없습니다.

    로그인 후에 바로 열람 가능합니다
  • ?
    objc 2016.12.14 15:22

    비회원은 댓글을 읽을 수 없습니다.

    로그인 후에 바로 열람 가능합니다

컴퓨터과학과

컴퓨터과학과 학생 게시판

List of Articles
번호 분류 제목 글쓴이 조회 수 날짜
공지 (필독) 공지 모음 / 코인(포인트) 얻는 방법 및 입문서 417 게시판관리 7955 2022.12.24
공지 커뮤니티를 홍보하고 포인트를 적립해보세요 73 게시판관리 3512 2023.09.20
공지 🎖 활동 메달 안내 및 기준 7 게시판관리 220 2025.07.30
933 과공지 2025학년도 컴퓨터과학과 총장배 SW경진대회 1차 심사 결과 발표 comet 11 2025.08.08
932 질문 출석과목 대체 시험 문의 예린지 18 2025.08.08
931 일반 구글 AI 1년 무료 서비스가 한국에도 열렸습니다. 1 예린지 23 2025.08.08
930 과공지 ★25_ 2학기 컴퓨터과학과 지역별 OT 일정★ 1 comet 70 2025.08.01
929 일반 책! 구매하고싶습니다 동글동글동동 54 2025.07.30
928 과공지 [수정] 25학년도 2학기 컴퓨터과학과 OT (서울지역) file comet 56 2025.07.30
927 일반 안녕하세요! 3 배부른쿼카 41 2025.07.30
926 일반 선형대수/c프/컴퓨터과학개론 구매합니다. chcmp 37 2025.07.29
925 질문 3학년 편입 학점질문 2 으으으으으 94 2025.07.28
924 질문 편입생입니다. 교재가 꼭 필요할까요? 1 아쿠아제트 108 2025.07.28
923 일반 3학년 편입 수강신청문의 드려요 김밥할때김 58 2025.07.28
922 일반 컴퓨터 교재 영어 교재 팝니다 file asdsa 65 2025.07.22
921 일반 가입인사 2 해띵 54 2025.07.18
920 일반 학점 잘주는 과목 추천 부탁드립니다. 12 정억화 352 2025.07.17
919 질문 수강신청 관련 질문드립니다. file 컴과f 81 2025.07.17
918 일반 컴퓨터과학과 책 판매 (워크북 O)합니다! 뭉기 112 2025.07.10
917 질문 교양중 성적받기 수월한거 추천해주실수 있을까요? 2 정억화 197 2025.07.09
916 질문 교수님별 특성 정리 하신 분 있을까요? 예린지 87 2025.07.08
915 일반 기말고사 후기 예린지 92 2025.07.08
914 일반 가입인사드립니다. 2 김현욱 44 2025.07.06
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 47 Next
/ 47