プロが教えるわが家の防犯対策術!

ある架空の会社の社員のデータをまとめるプログラムを構造体を使って行なっています。下のソースを実行すると、きれいに表のようにそろえたかったのですが、0がずれて分かりにくいものになってしまいました。

#include<stdio.h>

struct syain_dt{
long no;
char name[20];
char yaku[20];
int nensu;
struct kyuuyo{
long kihon;
long jyutaku;
long kazoku;
long sikaku;
long goukei;
}kyu;
};int main(void)
{
  struct syain_dt syomu[20]={
{78027,"神保直樹","課長",21,346780,10000,15000,12000},
{84004,"相原彰子","主任",15,223640,10000, 0, 6000},
{87022,"本郷幸子"," ",12,208760,10000, 0, 6000},
{93042,"三上葵"," ",6,176530, 0, 0, 0},
{95005,"佐々木翠"," ",4,166700, 0, 0, 0},
{99009,"長崎宏美"," ",1,150140, 0, 0, 0}
};int i;

for(i=0;syomu[i].no!=0;i++){
syomu[i].kyu.goukei=syomu[i].kyu.kihon+syomu[i].kyu.jyutaku
+syomu[i].kyu.kazoku+syomu[i].kyu.sikaku;
}


for(i=0;syomu[i].no!=0;i++){
printf("%d %s %s %d %d %d %d %d %d\n",
syomu[i].no,syomu[i].name,syomu[i].yaku,syomu[i].nensu,
syomu[i].kyu.kihon,syomu[i].kyu.jyutaku,
syomu[i].kyu.kazoku,syomu[i].kyu.sikaku,
syomu[i].kyu.goukei);

}
return(0);
}
これはどうにかできないのでしょうか?分かる方がいたらお願いします。

A 回答 (2件)

printf("%8d %8s %8s %8d %8d %8d %8d %8d %8d\n",



とか
    • good
    • 0

printf() の書式指定子で出力幅を指定すればいいのでは?そうゆうことではなく?

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!