0

こんにちは、範囲内の乱数発生器に関する質問が既にあることは知っていますが、理解できません。私はCの初心者で、Javaしか知りません。このプログラムでは、C で数学の家庭教師を作成しようとしています。プログラムは、1 から 10 までの 2 つの数値と演算子をランダムに生成します。実行しますが、次の行が表示されず、不正解が表示され続けます。また、VS2010 が getch() が未定義であると言っているのはなぜですか? コードは次のとおりです。

 int ans;
 int ans1;
 int num1 = rand() % 10 + 2;
 int num2 = rand() % 10;
 int operation = rand() % 4;

    printf("\tMATH TUTOR\n");
    if(operation == 1){
        printf("What is %d + %d ?", num1, operation, num2);
        scanf_s("%d",ans1);
        ans = num1 + num2;
        if(ans != ans1){
            printf("Incorrect! Try Again!");
            do{
                scanf_s("%d", &ans1);
            }while( ans != ans);
        }else{
            printf("Correct!");
        }
        }else if(operation == 2){
            printf("What is %d - %d ?", num1, operation, num2);
            scanf_s("%d",&ans1);
            ans = num1 - num2;
            if(ans != ans1){
                printf("Incorrect! Try Again!");
                do{
                    scanf_s("%d", &ans1);
                }while( ans != ans);
            }else{
                printf("Correct!");
                }
        }else if(operation == 3 ){
            printf("What is %d * %d ?", num1, operation, num2);
            scanf_s("%d",&ans1);
            ans = num1 * num2;
            if(ans != ans1){
                printf("Incorrect! Try Again!");
                do{
                    scanf_s("%d", &ans1);
                }while( ans != ans);
            }else{
                printf("Correct!");
            }
            }else if(operation == 4){
                printf("What is %d / %d ?", num1, operation, num2);
                scanf_s("%d",&ans1);
                ans = num1 / num2;
                if(ans != ans1){
                    printf("Incorrect! Try Again!");
                    do{
                        scanf_s("%d", &ans1);
                    }while( ans != ans);
                }else{
                    printf("Correct!");
                }
            }

    getch();
    return 0;
}
4

2 に答える 2

1

Adding to John Sheridan's: getch()は、多くの MS-DOS コンパイラによって追加された C の非標準拡張機能です。通常は で定義されていました<conio.h>。VS2010 がデフォルトでサポートしているかどうかはわかりません。

于 2013-06-30T15:08:22.903 に答える