私のプログラムの次のコードでは:
do
{
printf("\nEnter records of student %d: \n", i++);
printf("Name: ");
fgets(record.name, sizeof(record.name), stdin);
printf("\nAddress: ");
fgets(record.address, sizeof(record.address), stdin);
printf("\nClass Level: ");
scanf("%d", &record.classlevel);
printf("\nTelephone Number: ");
scanf("%ld",&record.telephone);
fwrite(&record, sizeof(record),1,fptr);
printf("\n\nAdd another record? [y/n]: ");
}while(getche()=='y');
出力を見ると、初めて正常に動作します
生徒1の記録を入力
名前: <なんらかの入力>
住所: <何らかの入力>
クラス レベル: <なんらかの入力>
電話番号: <何らかの入力>
別のレコードを追加しますか? [y/n]: <Yを押した>
学生の記録を入力 2
名前: <カーソルが来ない、ここに入力できない>
住所: <ここでのみ入力可能>
.
.
……など……
何が起こっているのか、do...while ループの最初の反復後に名前を入力できないのはなぜですか。getche() は何か問題を起こしていますか?
あなたの助けを願っています
前もって感謝します