#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void main()
{
int User1Seq, User2Seq;// 진입할지 말지 확인
int User1Scr, User2Scr;//점수
int dice;
char deci1, deci2; // 다시 돌지 말지 확인
srand(time(NULL));
User1Seq = User2Scr = User1Scr = 0;
User2Seq = 1;
while (User1Scr <= 100 && User2Scr <= 100)
{
if(User1Seq != 1)
{
dice = rand() % 6 + 1;
User1Scr = User1Scr + dice;
printf("Player1 just rolled %d ", dice);
printf("You have %d points. ", User1Scr);
printf("Would you like to roll? ");//여기서 루프를 멋대로 다시 한번 더..
scanf("%c", &deci1);
if (deci1 == 'y' || deci1 == 'Y')
{
User1Seq = 0;
User2Seq = 1;
continue;
}
if (deci1 == 'n' || deci1 == 'N')
{
User1Seq = 1;
User2Seq = 0;
continue;
}
}
}
}
미완성 코드입니다. 하지만 저 if 구문은 확실히 돌아가는것을 확인했습니다. 근데 .. 주석에 표기되었듯 continue; 이후
다시 루프를 돌아오면 프로그램 멋대로 한번 더 돌아버리는데요... 알고리즘적 문제는 아닌듯 한데 .. 잘 모르겠습니다...
continue가 루프를 탈출하는게 아니기 때문 아닐까요?
continue는 loop의 마지막으로 실행을 옮겨가니까...
ㄴ아녕... 루프의 마지막으로가는게 알고리즘 맞아용
그런데 프로그램을 한번 더 돌아버린다는게 무슨 말씀이세요??
그런데 n이나 N 넣으면 더 이상 실행이 안되는 것도 알고리즘이에요??
ㄴ넹
의도한 알고리듬은 출력 -Y - 출력 -입력은? 인데 출력-y -출력출력 -입력은?
요로케..