1

わかりません。さて、まずはコードです。

#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 キーを押すと終了することです。画面をクリアしてメニューを繰り返す必要がありますが、終了するだけですか??? 他の部分は正常に動作しますが、違いの部分は一体何が問題なのですか? 間違いや提案を見つけることができますか?リターン部分に関係していると思います..システムの一時停止を試みましたが、一時停止するだけで何もしません。終了する必要があります。

では、何が問題だと思いますか?前もって感謝します。

4

1 に答える 1