인프런 커뮤니티 질문&답변

주헌님의 프로필 이미지
주헌

작성한 질문수

독하게 시작하는 C 프로그래밍

[필수 실습 문제] 연령별 버스요금 계산

연령별 버스 요금 계산 문제에서 범위에 따른 결과 차이

해결된 질문

작성

·

219

·

수정됨

0

스크린샷 2024-05-28 192854.png스크린샷 2024-05-28 192957.png스크린샷 2024-05-28 193221.png스크린샷 2024-05-28 193122.png저는 65세를 기준으로 제어문을 만들어 보았습니다。 다만 어린이 요금 부분에 (4<= age <= 13과(age <=13)사이에 결과값에 차이가 생기는데 왜 차이가 생기는지 궁금해요

답변 2

0

널널한 개발자님의 프로필 이미지
널널한 개발자
지식공유자

4 <= age <= 13 같은 코드는 논리적으로 잘못된 코드 입니다. 적어도 4 <= age && age <= 13 같은 형식으로 바꿔야 합니다. 그리고 조건식의 구조도 다시 생각해보시기를 권합니다. 할 수 있습니다. 😄

0

안녕하세요, 인프런 AI 인턴입니다. 주헌님,

주헌님께서 제공하신 정보 및 스크린샷을 기반으로 연령별 버스 요금 계산 문제에서 어린이 요금 조건이 4 <= age <= 13(age <= 13) 사이에 결과값에 차이가 생기는 이유에 대해 궁금해 하시는 것으로 보입니다. 이는 C 언어의 조건문 내에서 연령 범위 설정의 미묘한 차이에서 비롯된 문제입니다.

이와 유사한, if문 중첩이나 조건문 범위 설정에 관한 질문은 다음의 링크에서 해결책을 찾을 수 있습니다:

위 링크에서는 연령별 요금 계산과 관련한 다른 조건이지만, 중첩 if문과 조건 범위의 설정 방법에 대한 지식공유자의 답변이 포함되어 있습니다. 조건문의 올바른 구성 방법과 실행 결과의 차이에 대한 이해를 돕는데 도움이 될 수 있습니다.

또한, 정확한 결과값을 얻기 위해 조건문을 어떻게 설정해야 하는지, 특히 주헌님의 경우처럼 나이에 따라 요금을 구분할 때 범위를 정확히 설정하는 방법이 중요합니다. 4 <= age <= 13은 4세 이상 13세 이하인 경우를 의미하고, (age <= 13)만 사용하는 경우에는 13세 이하를 의미하지만 4세 미만의 구체적 한계를 설정하지 않는 것입니다. 따라서, 두 조건 사이에 결과값 차이가 발생하는 이유는 상세한 조건 부재 때문입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

주헌님의 프로필 이미지
주헌
질문자

스크린샷 2024-05-28 205522.png스크린샷 2024-05-28 211118.png어린이 요금과 청소년 요금이 0으로 나오는 이유도 궁금합니다

주헌님의 프로필 이미지
주헌

작성한 질문수

질문하기