inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

가위-바위-보

가위바위보 질문(부동소수점 예외 코어덤프됨)

해결된 질문

170

킴주니

작성한 질문수 24

0

이렇게 뜨면서 승률이 안나오는데

이문제가 나누기할때 0으로 나눠서 나오는 문제인걸로 아는데

처음에 바로 실행하면 현재승률 없음이나오고 다음 가위바위보를하면 토탈에 값이 0이어서 그런거같은데 이부분을 어떻게 해결하면 좋을까요??

c++

답변 1

0

인프런 AI 인턴

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

승률 계산에서 0으로 나누는 문제를 해결하기 위해서는 분모가 0이 되는 상황을 예방하는 로직을 추가하는 것이 필요합니다. 가위바위보 게임에서 승률을 계산할 때 전체 게임 횟수(토탈)가 0인 경우에는 분모가 0이 되어서 계산할 수 없습니다. 따라서 승률을 계산하기 전에 전체 게임 횟수가 0인지 확인하는 조건문을 추가하여, 전체 게임 횟수가 0일 때는 승률 계산을 하지 않고 “현재 승률 없음”과 같은 메시지를 출력하도록 하면 좋을 것 같습니다.

예시 코드는 다음과 같습니다:

if (totalGames > 0) {
    double winRate = static_cast<double>(winCount) / totalGames * 100;
    // 승률 출력 로직
} else {
    // "현재 승률 없음"과 같은 메시지 출력 로직
}

여기서 totalGames는 게임의 전체 횟수, winCount는 승리 횟수를 나타냅니다. 전체 게임 횟수가 0이 아닐 때만 승률을 계산하고, 0일 경우에는 승률 없음 메시지를 출력하게 하여 부동소수점 예외가 발생하지 않도록 처리할 수 있습니다.

소스코드와 관련하여 질문드립니다

0

70

1

map 컨테이너의 emplace 함수에 대해

0

112

2

시작이 안되네요...!

0

96

2

EAX 명령어 실행 시 RAX의 상위 32비트가 초기화 되는 이유

0

125

1

리틀 엔디안 장점 질문합니다.

0

131

1

메모리 창에 주소를 넣었는데 영어 꺠짐

0

124

1

타입변환#2 build시 knight 인접 stack이 침범당했다는 error가 발생합니다.

0

94

2

map #1 8분 58초 맵은 레드블랙트리로 이루어진 것 같습니다.

1

138

2

hello world 부터 오류 ㅠㅜ

0

188

1

지역변수가 스택? 레지스터

0

128

2

마지막 문제 질문드립니다.

0

164

2

메모리창이 비활성화됩니다.

0

98

1

이중포인터 강좌 부분 질문있습니다.

0

145

1

2를 더하는 이유

0

133

1

메모리 주소 창 엔디안 질문 드립니다. 인프런 봇 답변도 괜찮습니다

1

110

1

해당 코드는 왜 오류가 날까요?

0

155

1

마지막 문제 질문 있습니다.

0

119

1

강의 마지막부분에 질문이 있습니다.

0

191

2

Field초기화

0

140

1

virtual과 override 차이

0

314

2

3:30 참조자 리턴

0

167

1

map 찾기

0

158

1

프로그램 질문드려요

0

260

1

캐스팅 질문

0

138

1