私はCで非常に単純なコマンドラインベースのプログラムを書いています。これはほんの小さなテストであり、コードは非常に単純です。つまり、ユーザーに名前、数学の成績、英語の成績、コンピューティングの成績を尋ねることを意味します。次に、彼らの平均成績を計算し、彼らが入力した名前も伝えます。はい、私はこれが非常に単純なプログラムであることを知っていますが、私はまだ何か間違ったことをしています。
問題は、コードの一部が最初に実行され、ユーザーに名前を入力するように指示します。次に、これを実行してEnterキーを押すと、残りのコードが一度に実行され、動作を停止します。何が悪いのかわからないのが変です。
#include <stdio.h>
int main(int argc, const char * argv[])
{
char chr;
char firstname;
int mathsmark, englishmark, computingmark, averagemark;
printf("What is your name?\n");
scanf("%c", &firstname);
printf("\n");
printf("What is your maths mark?\n");
scanf("%d", &mathsmark);
printf("\n");
printf("What is your english mark?\n");
scanf("%d", &englishmark);
printf("\n");
printf("What is your computing mark?\n");
scanf("%d", &computingmark);
printf("\n");
printf("Your name is: %c", firstname);
printf("\n");
averagemark = (mathsmark + englishmark + computingmark) / 3;
printf("%d", averagemark);
printf("\n");
chr = '\0';
while (chr != '\n') {
chr = getchar ();
}
return 0;
}