gpt4 book ai didi

c++ - 如何格式化输出或显示?

转载 作者:太空宇宙 更新时间:2023-11-04 13:53:50 27 4
gpt4 key购买 nike

void listUser(student user[], int size, int const track)
{
int list;
cout<< "\n\tName|||Age|||Gender|||Course|||Year|||Section|||Student No.\n";
for (list=0; list<track; list++)
{
cout<< "\n\n" << user[list].firstname <<" " << user[list].lastname <<"\t\t" << user[list].age <<"\t" << user[list].gender << "\t" << user[list].course << "\t" << user[list].year << "\t" << user[list].section << " " << user[list].studno <<"\n";
}
return;
}

因此,这是我在命令行窗口中显示用户列表的代码的一部分。我的问题是,如何在不使用制表符的情况下格式化输出/显示?

当列表中的用户有长名或短名时,它看起来很难看并且有点难以表达。谢谢。

最佳答案

这里有一个简单的方法:迭代集合两次。首先找出每列中最长字符串的大小,其次实际打印值。

伪代码:

size_longest_first_name = 0
size_longest_last_name = 0

for each student
{
if (student.first_name.size > size_longest_first_name)
size_longest_first_name = student.first_name.size

if (student.last_name.size > size_longest_last_name)
size_longest_last_name = student.last_name.size
}

for each student
{
padding_spaces = size_longest_first_name - student.first_name.size() -
print student.first_name + string(padding_spaces)

padding_spaces = size_longest_last_name - student.last_name.size() -
print student.last_name + string(padding_spaces)
}

编辑:

哦,不要使用数组!这是完全不适合 C++ 程序的低级 C 风格编码。使用 std::vector

关于c++ - 如何格式化输出或显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22422358/

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