これは先生が私に与えた課題です。数日後にそれを稼働させようとしていて、原因を見つけることができません問題。値を保存しようとすると-1を使用して結果を出力しますが、プログラム自体が終了します
私が入力したコードは、2012バージョンのVisual Studioで動作し、2017バージョンを使用しているときは、コンソールに-1と入力するとコードが閉じて、私はそれを取得できません。欲しいです。私の理解へ
#include <stdio.h>
int main()
{
int grades = 0;
int counter = 0;
int A = 0;
int B = 0;
int C = 0;
int D = 0;
int E = 0;
do
{
counter++;
printf("Please enter grade between 0 to 100 or -1 to quit:");
scanf_s("%d", &grades);
if (grades != -1){
if (grades >= 90 && grades <= 100)
A++;
else if (grades >= 80 && grades <= 89)
B++;
else if (grades >= 70 && grades <= 79)
C++;
else if (grades >= 60 && grades <= 69)
D++;
else if (grades >= 0 && grades <= 59)
E++;
else counter--;
}
else
counter--;
}
while (grades != -1);
printf("Total Number of Grades = %d\n\n", counter);
printf("Number of grade A: %d\n", A);
printf("Number of grade B: %d\n", B);
printf("Number of grade C: %d\n", C);
printf("Number of grade D: %d\n", D);
printf("Number of grade E: %d\n", E);
return 0;
}
「自分で閉じる」とはどういう意味ですか?コンソールウィンドウは閉じていますか? Visual Studioからコンソールアプリケーションを起動すると、最後に 'pause'の呼び出しが追加されるので、出力を見ることができます。新しいバージョンでは出力されない可能性があります。外部で起動したコンソールでプログラムを呼び出そうとしましたか? –
はい、私は-1を入力するとすぐにコンソールウィンドウが閉じますので、出力を見ることができません。これは何が原因で発生したのですか? –
私はまた、Visual Studioを使わずにプログラムを起動しようとしました。結果は同じです(私はちょうどあなたが外部からコンソールを始めることによって何を意味するのか、あなたはこのことに新しいことを推測しています)。 –