가위바위보 질문(부동소수점 예외 코어덤프됨)
이렇게 뜨면서 승률이 안나오는데
이문제가 나누기할때 0으로 나눠서 나오는 문제인걸로 아는데
처음에 바로 실행하면 현재승률 없음이나오고 다음 가위바위보를하면 토탈에 값이 0이어서 그런거같은데 이부분을 어떻게 해결하면 좋을까요??
답변 1
0
안녕하세요, 인프런 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





