私は本を読んでいますが、これを試してみてください: (英語ではないので翻訳しました)
生徒数 n を要求し、n 人の生徒を動的に選択するプログラムを作成します。名前は 10 文字で、メモは 5 文字です。
上記の選択内容からテキスト ファイル note.txt を作成し、10 文字になるようにハイフンを追加します (名前用)。
次に、ファイルを読み取り、そこから (のみ) 合計を計算します。次に、メモが 10 以下のものの名前とメモを表示します。
createStudent、createFile、readFile の 3 つの関数を実装する必要があります。グローバル変数は使用しないでください。
構文 : 名前は char nom[10+1] として宣言する必要があります (つまり、James。10 文字を取得するために 5 つのハイフンが追加されます) => james----- および注: char[5+1] (つまり15.00 または 07.50)
ヒント : メモをテキスト形式から浮動小数点形式に変換するには、atof 関数を使用できます。
createStudent 関数と createFile 関数を作成しました。それらはうまく機能しますが、最後の部分 (readFile 関数) がわかりません。
私のテキスト ファイルは次のような形式です: Bart------ 04.50 Lisa------ 18.00 Homer----- 03.00
void readFile(int n){
FILE* file = NULL;
double temp= 0.0, average= 0.0;
double *total = (double*)malloc(n*sizeof(double));
int position = 0;
char information[5+1]="";
file = fopen("c:\\myFile.txt","r");
fseek(file,10,SEEK_SET);
while(fgetc(file) != EOF)
{
fscanf(file,"%5s",&information);
temp = atof(information);
total[position]= temp;
position++;
fflush(stdin);
fseek(file,11,SEEK_CUR);
}
fclose(file);
for(int compteur=0;compteur<2;compteur++)
{
moyenne += totalNote[compteur];
}
コンパイルはできますが、動作せず、その理由がわかりません :( C 言語は Java や C# に比べて非常に面倒だと感じています。
ライトをください。