• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

Do while 질문 복수응답 관련 추가질문입니다.

21.07.25 00:08 작성 조회수 120

0

[추가질문]

위에서 다른 학우분이 질문해주신 것에 대한 추가 질문입니다!

answer가 y, Y, yes, YES, Yes... 등 개수가 많아져서 일일이 or를 적어주기 힘들 때는

지난 강의(13강)에서 enum 지정해줬던 것처럼 그룹으로 만들어서

해당 그룹/인덱스 안의 string이면 정답처리 할 수 있을 것 같은데

그럴 때는 어떤 함수를 쓰면 될까요? enum말고 estring 등이 있나요?

estring Answer {

YES = 0

Yes = 1

yes = 2

Y = 3

y = 4}

Do

Console.WriteLine("강사님은 잘생기셨나요? (y/n): ");

string Answer = Console.ReadLine();

} while (answer != Answer);

이런 식으로요!

그리고 y/n 말고 아예 엉뚱한 답(0, ㅋ, ' 등)을 적는 사람에게는

"YES or NO 중 골라주세요" 와 같은 문장을 출력하고 다시 while문으로 돌아가게 하고 싶다면 방법이 있을까요?

이 땐 while문이 아니라 if문을 결합해야 할까요?

알려주시면 감사하겠습니다!

답변 1

답변을 작성해보세요.

0

estring 같은 문법은 존재하지 않지만,
enum 값을 string으로 변환할 수 있기는 합니다. (단 조금 복잡해서 지금은 다루지 않습니다)
하지만 그렇게 고정된 값들로 관리하기 보다는,
정답에 해당하는 데이터를 따로 빼서
기획자들이 관리하는 별도의 데이터 파일(json이라거나, txt이라거나..)로 관리하는게 정석입니다.
해당 파일을 읽어서 배열 등으로 관리하는데 이 또한 후반부에 나오는 문법들이라
아직 기초 문법만으로 할 수 있는게 별로 없네요.

그리고 만약 특정 케이스 중 골라야 한다면
while - if를 적절히 섞어 주시면 됩니다.

yunahyeri님의 프로필

yunahyeri

질문자

2021.07.25

상세히 답변해주셔서 감사합니다! 후반부 강의도 열심히 듣고 고급지식까지 쏙쏙 학습해서 이 질문도 스스로 해결할 수 있게 해보겠습니다. 더운데 건강 조심하세요! ^_____^