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