/* a10-3-1.c */
#include <stdio.h>
#define N 5		/* 人数 */

typedef struct {     /* 給与       */
	int	basic;         /* 基本給   */
	int house;         /* 住宅手当 */
	int family;        /* 家族手当 */
	int qualification; /* 資格手当 */
} Pay;
typedef struct  {    /* 社員情報 */
	int no;            /* 社員番号 */
	char name[20];     /* 氏名     */
	char post[20]; 	   /* 役職     */
	int years;         /* 勤続年数 */
	Pay pay;           /* 給与     */
} Syain_dt;

int main(void)
{
	Syain_dt g[N] = {
		{127, "滝沢康明",   "課長", 21, 366780, 10000, 15000, 12000},
		{204, "加藤ゆい",   "主任", 15, 283640, 10000, 0,     6000},
		{255, "小池一平",   "",     12, 264200, 0,     0,     0},
		{272, "矢田佐希子", "",     10, 228760, 0,     0,     6000},
		{304, "堂本猛",     "",     5,  217700, 0,     10000, 12000},
	};
	Syain_dt *p = g;
	int i, sno;

	printf("探索する社員番号を入力してください。＞ ");
	scanf("%d", &sno);

	for (i = 0; i < N; i++) {
		if (sno == p->no) {
			printf("番号 氏名　　　　 役職　 勤続 基本給 住宅　家族　資格\n");
			printf("%4d %-12s %-6s %4d %6d %5d %5d %5d\n", p->no, p->name, 
				p->post, p->years, p->pay.basic, 
				p->pay.house, p->pay.family, p->pay.qualification);
			break;
		}
		p++;
	}
	if (i == N) {
			printf("該当する番号はありません。\n");
	}

	return 0;
}
