컴퓨터과학과

컴퓨터과학과 학생 게시판

조회 수 2938 추천 수 2 댓글 4
Atachment
첨부 '1'

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

 

 

클래스는 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 으로 가게 이름을 저장하는 것도 길이가 길든 짧든 자동으로 맞추어 주기 때문입니다.

 

 

과제가 뭔지 잊으셨을까 해서 이미지 첨부합니다.

 

 

제가 제출한 C++ 과제 요약

 

  • ?
    열정편입생 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 게시판관리 10116 2022.12.24
공지 방송통신대학교 커뮤니티 홍보하고 포인트 적립하자! 73 게시판관리 4698 2023.09.20
공지 🎖 활동 메달 안내 및 기준 49 게시판관리 1742 2025.07.30
공지 📢자료 업로드 규정안내 (AI사용여부·출처 표기 의무화)자료 재동록자 적발 시 차단 19 게시판관리 1098 2025.11.14
1099 일반 방통대 컴퓨터과학과 수강 순서 추천 (신편입생 필독) new 홍홍이 13 2026.03.13
1098 일반 컴퓨터과학과 난이도 new 짜장부비 13 2026.03.13
1097 일반 전북 데이터정보처리입문 은인기교수님 돌베기 18 2026.03.12
1096 과공지 [특강] 손진곤 교수 신간 출간기념 특별 북토크 안내 file noir 36 2026.03.10
1095 과공지 컴과 연합스터디 포토샵 GTQ 1급 첫수업 안내 (3/11 21시) noir 29 2026.03.10
1094 일반 경기(성남) 데이터베이스시스템 출석수업 시간표 나왔나요? 1 holiday 45 2026.03.09
1093 그외 안녕하세요... 동순 76 2026.03.06
1092 일반 [서울지역] 3학년 편입생 질문드립니다. 아진아빠 83 2026.03.05
1091 일반 2026 올해 최우수 졸업 했네요.... 10 file jsean 261 2026.02.27
1090 일반 Spotify 학생할인 및 3개월 무료 프로모션 입니다. 1 예린지 111 2026.02.25
1089 일반 튜터 개인정보 동의 문의드립니다. 1 잉개 64 2026.02.25
1088 질문 교재가 없는 과목 질문드립니다. file abcddcba 111 2026.02.23
1087 질문 3학년 편입시 학점 조회 질문 3 file 길버트v 110 2026.02.23
1086 질문 예비3학년 컴퓨터 과학과수강신청 질문드립니다. 1 file 길버트v 107 2026.02.23
1085 일반 컴과 3학년 편입생 수강신청.. 4 file 홍잴리 172 2026.02.22
1084 일반 대면수업, 비대면 수업이 같은 날 1 해미니 139 2026.02.21
1083 질문 안녕하세요, 컴퓨터과학과 단톡방과 관련하여 문의드립니다. (입장 비번 관련) 5 Nongrata 279 2026.02.16
1082 과공지 컴퓨터과학과 2026-1 연합스터디 file noir 232 2026.02.13
1081 일반 학생할인 - 제주호텔 2 file 예린지 158 2026.02.11
1080 과공지 26_1학기 컴퓨터과학과 서울지역 OT 일정 file noir 184 2026.02.11
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 55 Next
/ 55