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

最佳答案

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

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

07-26 00:01
查看更多