如何格式化输出

时间:2012-04-20 02:38:35

标签: c++ function setw

我想要一个干净的格式化输出,但结果并不像我想要的那样干净。下面是我的函数,它显示输出,然后是输出。我正在使用Dev-C ++。谢谢你的帮助。

void student::show(string name, int age, double GPA)
{
  cout<<name<<setw(7) <<age<<setw(7) <<GPA <<setw(7) <<endl;

}



******************output*******************************************



Timaya     24   2.65
 albert     29   2.43
zamounda     27   3.94
charles     26   2.78
 moumou     33   2.39
francois     24   3.07
   john     20   2.59
   papa     21   2.67
   peti     29   3.65
francoise     26   3.76
  iness     28   2.65
  elise     35   2.76
------------------------------------
-------------------------------------
GPA of the class:2.94

1 个答案:

答案 0 :(得分:3)

由于setw设置了 next 输出值的宽度,而不是前一个输出值的宽度,因此您应该在格式化项目之前移动setw次调用:

cout << setw(20) << name << setw(7) << age << setw(7) << GPA << endl;