컴퓨터과학과

컴퓨터과학과 학생 게시판

조회 수 2928 추천 수 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
번호 분류 제목 글쓴이 조회 수 날짜
공지 (필독) 공지 모음 / 방송대 커뮤니티 포인트 얻는 방법 및 입문서 416 게시판관리 9612 2022.12.24
공지 방송통신대학교 커뮤니티 홍보하고 포인트 적립하자! 73 게시판관리 4381 2023.09.20
공지 🎖 활동 메달 안내 및 기준 37 게시판관리 1446 2025.07.30
공지 📢 자료 업로드 규정 안내 (AI 사용 여부·출처 표기 의무화) 과거자료 재동록자 적발 시 IP차단 12 게시판관리 811 2025.11.14
1076 일반 방통대 메일과 오피스등 지원문제 1 new 예린지 8 2026.01.28
1075 과공지 2025 데이터분석 경진대회 예비심사 결과 발표 안내 new noir 12 2026.01.28
1074 일반 대학생이 되면 발생하는 특전이 있습니다. 3 newfile 예린지 47 2026.01.28
1073 일반 방송대_컴퓨터과학과_2026_개설과목 엑셀파일입니다. newfile 예린지 25 2026.01.28
1072 질문 직장인 3학년 편입생 입니다.(졸업 학점 이수 관련) 2 new 홍이장군 25 2026.01.28
1071 질문 대체로 변경 3 update 쌉뚱보 58 2026.01.27
1070 과공지 2026 컴퓨터과학과 개설교과목 안내(개편사항 반영_260126) file noir 59 2026.01.27
1069 질문 회사 재직중 3학년 편입 도전!! 19학점 수강신청 어떨까요? 3 updatefile Luckyzzz 83 2026.01.26
1068 일반 3학년 편입 수강 과목 추천 file 김홍도 53 2026.01.26
1067 일반 슨배님들 3학년 컴과 편입생 수강계획 평가 부탁드려요..!! 1 updatefile 야루루루롤 64 2026.01.25
1066 질문 직장다니는 이번 편입 3학년인데 과목이렇게 괜찮을까요? file 코드워프 57 2026.01.25
1065 질문 3학년 1학기 편입생입니다. 수강신청 조언을 부탁드리고 싶습니다. 1 updatefile jayy 84 2026.01.24
1064 일반 선배님들 수강신청 조언부탁드립니다~ 1 updatefile 배삐삐 63 2026.01.24
1063 일반 3학년 컴퓨터과학과 노베이스 편입생 수강신청에 조언 부탁드립니다. 3 updatefile angelglow 145 2026.01.23
1062 질문 1학년 입학 예정입니다. 수강신청 도움 부탁 드립니다. 2 나리킨 79 2026.01.23
1061 일반 3학년 편입생 과목평가 부탁드립니다. Cohpe 68 2026.01.22
1060 일반 편입생 과목 추천 부탁드립니다. 5 update 세잎네잎 138 2026.01.22
1059 일반 3학년 편입생 수강신청 질문입니다 2 복숭아타르트 123 2026.01.22
1058 일반 [1월 24일] 장애인/노약자/차상위계층 외 일상생활 처우개선 프로젝트 모임 file Gotithelab 47 2026.01.21
1057 질문 입학식 관련 질문입니다. 2 kalsuend 94 2026.01.20
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 54 Next
/ 54