我的程序要求用户输入再次尝试或退出程序的选择。当用户输入'y / Y'时,他/她可以再次尝试,如果用户输入'q / Q',则程序退出。我不知道如何编写我的程序,如果用户输入q,控制台窗口会自动关闭。
另外我还有另外一个问题,每当用户输入'y / Y'时,“你想再试一次吗?无效选项。”完成所有计算后,行自动出现。它应该不存在。我认为我的编码存在轻微错误,但我不确定哪个部分是错误的。
以下是该错误的屏幕截图:
以下是编写此特定功能的代码的一部分:
while (1)
{
/*Making sure vertices entered by user are valid*/
if (!Invalid) {
printf("Please choose a node:\n");
scanf_s("%d", &i);
if (0 <= i && i <= 20){
print_index(i);
Invalid = true;
}
else {
printf("Error! Please enter a valid node.\n");
}
}
/*Prompt user to try again or quit the program*/
if (Invalid) {
printf("\nDo you wish to try again? <Type Y to continue or Q to quit>\n");
scanf_s("%c", &End_Program);
if (End_Program == 'q' || End_Program == 'Q') {//user can input q or Q
printf("\nThank you!\n");
printf("==============================\n\n");
getchar();
}
else if (End_Program == 'y' || End_Program == 'Y') {//user can continue
Repeat = true;
Invalid = false;
}
else {
printf("Invalid option.\n");
Invalid = true;
Repeat = true;
}
}
}
答案 0 :(得分:0)
你需要把&#34;返回0;&#34; 放在你验证用户是否要退出的if的末尾,它将停止代码。