컴퓨터과학과

컴퓨터과학과 학생 게시판

조회 수 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 게시판관리 4700 2023.09.20
공지 🎖 활동 메달 안내 및 기준 49 게시판관리 1742 2025.07.30
공지 📢자료 업로드 규정안내 (AI사용여부·출처 표기 의무화)자료 재동록자 적발 시 차단 19 게시판관리 1098 2025.11.14
445 일반 방통대 컴퓨터과학과 수강 순서 추천 (신편입생 필독) new 홍홍이 15 2026.03.13
444 일반 컴퓨터과학과 난이도 new 짜장부비 15 2026.03.13
443 일반 전북 데이터정보처리입문 은인기교수님 돌베기 18 2026.03.12
442 일반 경기(성남) 데이터베이스시스템 출석수업 시간표 나왔나요? 1 holiday 47 2026.03.09
441 일반 [서울지역] 3학년 편입생 질문드립니다. 아진아빠 83 2026.03.05
440 일반 2026 올해 최우수 졸업 했네요.... 10 file jsean 263 2026.02.27
439 일반 Spotify 학생할인 및 3개월 무료 프로모션 입니다. 1 예린지 112 2026.02.25
438 일반 튜터 개인정보 동의 문의드립니다. 1 잉개 64 2026.02.25
437 일반 컴과 3학년 편입생 수강신청.. 4 file 홍잴리 172 2026.02.22
436 일반 대면수업, 비대면 수업이 같은 날 1 해미니 140 2026.02.21
435 일반 학생할인 - 제주호텔 2 file 예린지 158 2026.02.11
434 일반 게시판 글쓰기 에디터 상단 기능 ( 코드 하이라이트 및 복사 기능 추가) - 컴퓨터학과 테스트 글 게시판관리 94 2026.01.30
433 일반 간만에 학교 들어올려니... 이수학점...수강신청 생소하네요. 2 다니아빠 184 2026.01.29
432 일반 방통대 메일과 오피스등 지원문제 2 예린지 286 2026.01.28
431 일반 대학생이 되면 발생하는 특전이 있습니다. 3 file 예린지 465 2026.01.28
430 일반 방송대_컴퓨터과학과_2026_개설과목 엑셀파일입니다. file 예린지 176 2026.01.28
429 일반 3학년 편입 수강 과목 추천 file 김홍도 191 2026.01.26
428 일반 슨배님들 3학년 컴과 편입생 수강계획 평가 부탁드려요..!! 1 file 야루루루롤 183 2026.01.25
427 일반 선배님들 수강신청 조언부탁드립니다~ 2 file 배삐삐 132 2026.01.24
426 일반 3학년 컴퓨터과학과 노베이스 편입생 수강신청에 조언 부탁드립니다. 3 file angelglow 299 2026.01.23
목록
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 23 Next
/ 23