我有一個家庭作業任務,基本上需要用戶輸入來創建一個高爾夫遊戲,詢問要打多少個洞,每個洞有多少個標準桿,然後隨機生成該人在該洞上獲得的內容,然後將其打印出來出。最後,它要求用戶再次播放,輸入Y或Y代表是,N或N代表否,等等。我的程序中的所有內容都可以正常工作,除非我不能再次播放功能。這裏是我的代碼,特別是我的主要好戲再次方法:再次玩功能c
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;
}
}
我猜IM如何使用while循環,使這項工作只是困惑或做while循環。這是有效的,但是當我運行程序併到達必須輸入yes或no的點時,我輸入的任何內容都會導致程序突然崩潰。我不知道該怎麼做。基本上,我希望用戶輸入一些東西,如果它是肯定的,再次玩整個遊戲,如果沒有,結束循環,如果它的其他東西,給他們一個錯誤,並再次提示他們。任何幫助表示讚賞今晚晚上! :/感謝
我想,它仍然不起作用。在運行它崩潰.... – anthony 2012-02-21 00:46:11