R63 0,30
考察
一様動くけど、最後にAbort trap 6 がでちゃう=どこかでプログラムが中断している。
EOFはファイルの終わり(End Of File)を表す定数
問題
(1)処理概要
社員マスタファイルを読み込み一覧を表示する。
(2)表示例
<<< 社員マスタ一覧 >>>
番号 氏 名 基本給
___1 1010 山本幸一 00128900
___2 1012 長島重行 00158900
___3 1031 上田冨美子 00216400
___4 1041 井上治明 00239800
確認したら何かキーを押してください。
↓ ↓
4 11 桁 ___1の_は半角スペースを表す。
(3)処理内容
①見出しとタイトルを表示する。
②ファイル"shain_m.txt"を入力モード"r"でオープンする。
③データがなくなるまでカウンタとデータ内容を表示する。
・このプログラムではデータをfscanfで入力し、printfで出力する。
・左端に件数(カウンタ)を表示する。
(コーディング例)
no = 1; → 件数初期値
while(fscanf(fp,"%d %s %d",&bango,simei,&kihonkyu)!=EOF){ → 読み込み
printf(" %4d ",no); → 件数表示
printf("%04d %-15s %8d",bango,simei,kihonkyu); → データ表示
no++; → 件数+1
④「確認したら何かキーを押してください。」を赤色で表示し、何かキーを入力したら
プログラムを終了する。
#include
#include
#define EOF (-1)
int main()
{
FILE *fp;
int no, bango, kihonkyu;
char simei[15];
printf("\n <<< 社員マスタ一覧 >>>\n\n");
printf(" 番号 氏名 基本給\n");
fp = fopen("shain_m.txt", "r");
no = 1;
while (fscanf(fp, "%d %s %d", &bango, simei, &kihonkyu) !=EOF)
{
printf(" %4d ", no);
printf("%04d %-15s %8d\n", bango, simei, kihonkyu);
no++;
}
fclose(fp);
printf("確認したら何かキーを押してください。\n");
getchar();
return 0;
}
#include
#define EOF (-1)
int main()
{
FILE *fp;
int no, bango, kihonkyu;
char simei[15];
printf("\n <<< 社員マスタ一覧 >>>\n\n");
printf(" 番号 氏名 基本給\n");
fp = fopen("shain_m.txt", "r");
no = 1;
while (fscanf(fp, "%d %s %d", &bango, simei, &kihonkyu) !=EOF)
{
printf(" %4d ", no);
printf("%04d %-15s %8d\n", bango, simei, kihonkyu);
no++;
}
fclose(fp);
printf("確認したら何かキーを押してください。\n");
getchar();
return 0;
}