#include #define SIZE 32 #define MAX 6 typedef struct player { char name[SIZE]; int x; int y; } PLAYER; void print_neighbor(PLAYER a[], int k) { int i, dx, dy; printf("%s さんの近くにいる人(たち):", a[k].name); for ( i = 0; i < MAX; i++ ) { printf("%s さん; ", a[i].name); } printf("\n"); } int main(void) { int i, dx, dy; PLAYER a[MAX]; char fname[SIZE]; FILE *fp; printf("データファイル名を入力してください:"); scanf("%s", fname); if ( (fp = fopen(fname, "r")) == NULL ) { printf("[エラー] データファイル %s を開けませんでした.\n", fname); return 1; } for ( i = 0; i < MAX; i++ ) { fscanf(fp, "%s%d%d", a[i].name, &(a[i].x), &(a[i].y)); } printf("データファイルから %d 人分のデータを読み込みました.\n\n", MAX); fclose(fp); for ( i = 0; i < MAX; i++ ) { print_neighbor(a, i); } return 0; }