1
我不明白這一點。嗯,這是代碼,首先。C void菜單程序
#include <stdio.h>
void load_menu(void);
void sum(void);
void product(void);
void difference(void);
void rest(void);
int main(int argc, char** argv)
{
load_menu();
return 0;
}
void load_menu(void)
{
int choice;
do
{
printf("Menu\n\n");
printf("1. Sum\n");
printf("2. Product\n");
printf("3. Difference\n");
printf("4. Rest\n");
printf("5. Exit(Bad choice)\n");
scanf_s("%d", &choice);
switch (choice)
{
case 1: sum();
break;
case 2: product();
break;
case 3: difference();
break;
case 4: rest();
break;
case 5: printf("Quitting program!\n");
system("PAUSE");
exit(0);
break;
default: printf("Invalid choice!\n");
break;
}
} while (choice != 3);
}
void sum(void)
{
int num1, num2;
int ch;
printf("Enter number 1: ");
scanf_s("%d", &num1);
printf("Enter number 2: ");
scanf_s("%d", &num2);
printf("\nThe sum of the numbers was: %d", num1 + num2);
while ((ch = getchar()) != '\n' && ch != EOF);
printf("\n\nPress ENTER to continue.");
while ((ch = getchar()) != '\n' && ch != EOF)
;
system("cls");
return;
}
void product(void)
{
int num1, num2;
int ch;
printf("Enter a number 1: ");
scanf_s("%d", &num1);
printf("Enter number 2: ");
scanf_s("%d", &num2);
printf("\nThe product of the numbers was: %d", num1 * num2);
while ((ch = getchar()) != '\n' && ch != EOF);
printf("\n\nPress ENTER to continue.");
while ((ch = getchar()) != '\n' && ch != EOF)
;
system("cls");
return;
}
void difference(void)
{
int num1, num2;
int ch;
printf("Enter a number 1: ");
scanf_s("%d", &num1);
printf("Enter a number 2: ");
scanf_s("%d", &num2);
printf("\nThe difference of the numbers was: %d", num1 - num2);
while ((ch = getchar()) != '\n' && ch != EOF);
printf("\n\nPress ENTER to continue.");
while ((ch = getchar()) != '\n' && ch != EOF)
;
system("cls");
return;
}
void rest(void)
{
int ch;
printf("Sleepy sleepy... zZZzZzZz\n");
printf("You now feel awake again!\n");
while ((ch = getchar()) != '\n' && ch != EOF);
printf("\n\nPress ENTER to continue.");
while ((ch = getchar()) != '\n' && ch != EOF)
;
system("cls");
return;
}
但問題是,在「差異部分」,它完成計算後,它只是退出,如果我按Enter鍵。它應該清除屏幕並重復菜單,但它只是退出? 其他部分工作正常,但差異部分出了什麼問題? 你能找到任何錯誤或建議嗎?我認爲這是迴歸部分.. 我試過系統暫停,但它什麼也沒做,只是暫停,我不得不退出。
那麼你認爲這是什麼問題呢? 在此先感謝。
'while(choice!= 3);'你確定3是正確的值嗎? – Mat
OH所以這是一個問題?好的,我會嘗試修復它。 – James
哦謝謝..它的工作。我用其餘的4取而代之。再次感謝。 – James