컴퓨터과학과

컴퓨터과학과 학생 게시판

조회 수 2851 추천 수 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
번호 분류 제목 글쓴이 조회 수 날짜
909 일반 2013학년도1학기 컴퓨터과학과 지역별 오리엔테이션 일정 2 file 조민현 2815 2014.02.08
908 정보 컴퓨터학과 학년별 교육과정이예요. 참고하세요~ 8 조민현 4817 2014.02.08
907 정보 2008-2학기 자료구조 기말시험기출문제(2007) 풀이(장종성튜터) 3 조민현 3509 2014.02.08
906 일반 1학기 과제 정보 공유 하실분 계세요? 5 김지윤 3469 2014.02.11
905 정보 C 언어 변수 file 이한솔 2797 2014.02.14
904 정보 2011_동계-_C프로그래밍 시험풀이 11 file 게시판관리 2518 2014.02.20
903 일반 제가 3학년 이번에 들어가야하는데 휴학을 냈네요. 게시판관리 2442 2014.02.24
902 일반 안녕하세요~ 조민현 1925 2014.03.08
901 일반 안녕하세요. 1 짱구민이 2037 2014.03.11
900 일반 반갑습니다. 1 총모아 1921 2014.03.13
899 일반 천안사는 30살 1학년생입니다. 3 컴과1학년 3568 2014.03.16
898 일반 안녕하세요 1 아코 2009 2014.03.19
897 정보 [컴파일러] 초보자를 위한 C,C++컴파일러 추천 -이은석님이 작성한 글입니다. 공용자료실에서 펌 3 게시판관리 3050 2014.03.25
896 일반 오늘 날씨가 참 좋네요 게시판관리 1337 2014.04.01
895 일반 64비트 운영체제에서 강의 못보는건가요 ㅠㅜ 2 그냥바보형 2559 2014.04.03
894 일반 망한건가요!? 2 루사이트 1928 2014.04.04
893 일반 안녕하세요 1 줌마렐라 1596 2014.04.05
892 일반 이번 소프트웨어 경진대회 참여해보고자 하는데 1 완봉 1586 2014.04.09
891 정보 유비쿼터스 컴퓨팅 개론 과제물 자체해설. 2 티알피지 2250 2014.04.13
890 정보 프로그램 무료다운로드 안내(Visual Studio 등) 5 file 게시판관리 1773 2014.05.02
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 46 Next
/ 46