저는 기본적으로 골프 게임을 만들기 위해 사용자 입력을 받고, 몇 개의 홀을 플레이하는지, 각 홀이 얼마나되는지를 묻는 숙제를 가지며, 그 홀에 무엇이 있는지를 무작위로 생성하여 인쇄합니다 아웃. 마지막에 사용자에게 다시 재생을 요청하고 예를 들어 y 또는 Y를 입력하고 아니요 등을 위해 n 또는 N을 입력하십시오. 프로그램의 모든 내용이 정상적으로 작동하지만 재생 기능을 다시 사용할 수는 있습니다. 내가 메신저를 추측함수를 다시 실행하십시오.
int main() {
int holes, par, strokes, count = 1, low, high, go;
char *shotName;
go = 1;
while (go != 0) {
count = 1;
holes = readHoles();
do {
printf("\nHole number: %i\n", count);
par = readPar(holes);
low = 1;
high = par + 5;
strokes = calcStrokes(low, high);
shotName = getName(par, strokes);
printStatement(count, par, strokes, shotName);
count++;
}while (count <= holes);
go = goAgain();
}
return 0;
}
int goAgain() {
char *temp;
printf("\nWould you like to play again(Y/N)? ");
scanf("%s", temp);
while (temp != 'y' || temp != 'Y' || temp != 'n' || temp != 'N') {
printf("\nI am sorry that is invalid -- try again\n");
printf("Would you like to play again(Y/N)? ");
scanf("%c", &temp);
}
if (temp == 'y' || temp == 'Y') {
return 1;
} else {
return 0;
}
}
while 루프를 사용하여이 작업을하는 방법에 단지 혼란 : 여기 내 코드 내 주요 및 재생 다시 방법, 특히이다 또는 while 루프를 수행합니다. 이것은 작동하지만 프로그램을 실행하고 예 또는 아니오를 입력해야하는 지점에 도달하면 프로그램이 갑자기 작동하지 않게됩니다. 나는 무엇을해야할지 모른다. 기본적으로 나는 사용자가 무언가를 입력하기를 원한다. 예라면 게임을 다시하고, 그렇지 않다면 루프를 끝내고, 뭔가 다른 것이라면 오류를주고 다시 묻는다. 어떤 도움이라도 오늘 밤 기한 내게 감사드립니다! :/감사
나는 시도하고 여전히 나던 작업 등,
temp[0] == 'Y'
해야합니다. 그것을 실행하면 충돌이 발생합니다. – anthony