1

我想要一个干净的格式化输出,但结果并不像我想要的那样干净。下面是我的函数,它显示了输出,然后是输出。我正在使用 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
4

1 回答 1

3

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

cout << setw(20) << name << setw(7) << age << setw(7) << GPA << endl;
于 2012-04-20T02:43:00.850 回答