[카테고리:] <span>디딤돌 C++</span>

이제 상속과 다형성의 마지막 실습이예요.

다음의 시나리오를 보고 직접 클래스 다이어그램도 작성해 보고 구체적으로 구현해 보세요.

시나리오

프로그램이 시작하면서 학사 학생과 운동 학생, 마법 학생을 한 명씩 생성

학생을 생성 후 전체 학생에게 강의=>자습=>잠자기=>휴식하기=>음료마시기=>노래하기 순으로 진행

(각 단계마다 학생 정보를 출력)

자습하기에서는 해당 학생이 학사 학생이면 독서도 지시함

휴식하기에서는 해당 학생이 마법 학생이면 여행도 지시함

노래하기에서는 해당 학생이 운동 학생이면 춤추게 지시함

  1. 학생

멤버 필드로 이름, 주민번호, 체력, 지력, 스트레스가 있음

주민번호: 순차적 부여

이름: 생성 시 전달

지력:100(최소 0, 최대 200)

체력: 100 (최소 0, 최대 200)

스트레스: 0 (최소 0, 최대 100)

연속으로 공부한 횟수: 0 (0,5), 공부를 하면 1 증가, 그 외의 행위를 하면 0으로 리셋, scnt로 부름

  1. 학사 학생

멤버 필드로 더미 뇌가 있음

더미 뇌는 생성 시 0 이며 공부한 회수가 5의 배수가 될 때마다 1씩 증가

공부하다.

체력 5소모, 지력: scnt+더미 뇌 증가, 스트레스: 2감소

강의를 받다.

체력 3소모, 지력: scnt 증가, 스트레스: scnt증가

잠자다.

체력 10회복, 스트레스: 5감소     *scnt는 연속 공부한 회수

휴식하다.

체력 3회복, 스트레스: 25감소

음료 섭취

체력 5회복, 지력:  10감소 , 스트레스: 2증가

노래하다.

체력 10 소모, 지력: 5-scnt감소, 스트레스: 5-scnt증가

독서하다.

더미 뇌 1증가, 스트레스: 5감소

  1. 마법 학생

마법 학생은 내부적으로 지팡이가 있다.

지팡이는 생성 시 0이며 마법 여행 시 1씩 증가

공부하다.

체력 3소모, 지력: scnt 증가, 스트레스: 3증가

강의를 받다.

체력 2소모, 지력: scnt 증가, 스트레스: 5증가

잠자다.

체력 10회복, 스트레스: 5감소

휴식하다.

체력 3회복, 스트레스: 25감소

음료 섭취

체력 5+지팡이 회복, 지력:  10-지팡이 감소, 스트레스: 2감소

노래하다.

체력 10-지팡이 소모, 지력: 5감소, 스트레스: 5감소

마법 여행을 가다.

지팡이 1증가

  1. 운동 학생

운동 학생은 내부적으로 air가 있다.

air는 생성 시 0 이며 춤을 추면 1 증가

공부하다.

체력 2소모, 지력: scnt/2 증가,

air 3 감소, air*3만큼 스트레스 감소

강의를 받다.

체력 1소모, 지력: scnt/2 증가,

air :5 감소, air*3만큼 스트레스 감소

잠자다.

체력 10회복, 스트레스: 5감소

휴식하다.

체력 8회복, 스트레스: 25감소

음료 섭취

체력 5 회복, 지력:  3 감소, 스트레스: 2감소

노래하다.

체력 5소모, 지력: 2증가, 스트레스: 5감소

춤을 추다.

체력 5소모, 지력: 3증가, air 1증가

디딤돌 C++