2

APPストアのメニューとなるクラス(C言語)のプログラムを書いています。プログラムのある時点で、ユーザーはメニューから何かを購入するのに十分なお金を持っていないため、アカウントにお金を追加する必要があります。これは、以下のその部分の私の関数定義です。プログラムを実行すると、コンパイルされ、以下のswitchステートメントに到達するまですべてが機能します。その後、プログラムはクラッシュしますが、実行時エラーは発生せず、「動作が停止しました」と表示されます。これは以前に起こったことがないので、エラー メッセージのスクリーンショットを添付しました。助けてください、ありがとう。

void moneyChoice(double *depositPtr, double appCost)
{
int choice = 0;
printf("\n\nPlease credit your money by selection:\
           \n1 --   $15.00\
           \n2 --   $10.00\
           \n3 --   $5.00\
           \n4 --   $2.00\
           \n5 --   $1.00");
    printf("\nDeposit amount: ");
    scanf("%d", choice);

    switch (choice)
    {
    case 1:
        *depositPtr += 15.00;
        break;
    case 2:
        *depositPtr += 10.00;
        break;
    case 3:
        *depositPtr += 5.00;
        break;
    case 4:
        *depositPtr += 2.00;
        break;
    case 5:
        *depositPtr += 1.00;
        break;
    }

プログラムのクラッシュのスクリーンショット}

4

1 に答える 1