エラーが出て行き詰まっています。下の方にエラーが出たコードを書いてます。
<問>
番号とテストの得点が格納されたデータファイルのファイル名(20 文字以内)をキーボードから入力する.ファイルがオープンできなければエラーメッセージ「FILE OPEN ERROR」を表示して終了する.オープンできた場合は,ファイルの内容を以下の構造体配列に入力しながら表示し,入力終了後,レコード件数を表示してファイルをクローズする.
struct SDATA {
int bango, tokuten;
};
struct SDATA seiseki[100];
その後,番号をキーボードから入力し,その得点を表示する.番号が見つからなければ「見つかりませんでした」を表示する.
/*自分で書いたコード*/ #include<stdio.h> #include<stdlib.h> int main(void) { char filename[21]; FILE *fp; struct seisekiA{ int bango, tokuten; }; struct seisekiA seiseki[100]; int n=0;/*配列へ格納するための添字,及び入力レコード件数*/ int x;/*探索に使用する変数を追加(変数名は自分で決める)*/ printf("ファイル名を入力してください\n"); scanf("%s",filename); if((fp=fopen(filename,"r"))==NULL) { printf("FILE OPEN ERROR\n"); exit(1); } printf("番号 得点\n"); while(fscanf(fp,"%d%d",&seiseki[n].bango,&seiseki[n].tokuten)!=EOF) { printf("%4d %4d\n",seiseki[n].bango,seiseki[n].tokuten); n++; } printf("レコード件数=%d\n",n); fclose(fp); /*間違ってると思われるところ(ここから)*/ printf("番号を入力してくださ\n");/*線形探索の処理*/ scanf("%d",&x); while(n<100 && x != seiseki[n]) n++; if(n<100) printf("%d\n",seiseki[n]); else printf("見つかりませんでした"); /*間違ってると思われるところ(ここまで)*/ return 0; }
/*エラーが出たところ(上のコードから引用)*/ while(n<100 && x != seiseki[n]) n++;
以上よろしくお願いします。
どんなエラーが出たんですか?
回答2件
あなたの回答
tips
プレビュー