gpt4 book ai didi

c++ - 使用 iomanip 时遇到问题,列未按我预期的方式排列

转载 作者:行者123 更新时间:2023-11-30 01:49:09 25 4
gpt4 key购买 nike

完成一个长项目,最后一步是确保我的数据排列在正确的列中。简单的。只有我在这方面遇到了麻烦,而且我在这方面的时间比我承认观看了很多视频的时间还要长,而且我真的不知道该怎么做所以这是我遇到问题的一小段代码:

 #include <iostream>
#include <iomanip>


using namespace std;

int main(){

cout << "Student Grade Summary\n";
cout << "---------------------\n\n";
cout << "BIOLOGY CLASS\n\n";
cout << "Student Final Final Letter\n";
cout << "Name Exam Avg Grade\n";
cout << "----------------------------------------------------------------\n";
cout << "bill"<< " " << "joeyyyyyyy" << right << setw(23)
<< "89" << " " << "21.00" << " "
<< "43" << "\n";
cout << "Bob James" << right << setw(23)
<< "89" << " " << "21.00" << " "
<< "43" << "\n";
}

这适用于第一个条目,但 bob james 条目的数字全都歪了。我以为 setw 应该让你忽略它?我错过了什么?谢谢

最佳答案

并不是你想的那样。 std::setw 仅为下一次插入设置字段宽度(即 it is not "sticky" )。

尝试这样的事情:

#include <iostream>
#include <iomanip>

using namespace std;

int main() {

cout << "Student Grade Summary\n";
cout << "---------------------\n\n";
cout << "BIOLOGY CLASS\n\n";

cout << left << setw(42) << "Student" // left is a sticky manipulator
<< setw(8) << "Final" << setw(6) << "Final"
<< "Letter" << "\n";
cout << setw(42) << "Name"
<< setw(8) << "Exam" << setw(6) << "Avg"
<< "Grade" << "\n";
cout << setw(62) << setfill('-') << "";
cout << setfill(' ') << "\n";
cout << setw(42) << "bill joeyyyyyyy"
<< setw(8) << "89" << setw(6) << "21.00"
<< "43" << "\n";
cout << setw(42) << "Bob James"
<< setw(8) << "89" << setw(6) << "21.00"
<< "43" << "\n";
}

还相关:What's the deal with setw()?

关于c++ - 使用 iomanip 时遇到问题,列未按我预期的方式排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29502627/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com