使用setw格式化输出c ++

时间:2017-04-18 01:32:38

标签: c++

我想输出一个时间表,但我无法用视觉方式组织它。

在第一行,我想打印3个字符串。 在第二个我想打印相关的小时。

int main()
{
    string day1 = "Monday";
    string day2 = "Tuesday";
    string day3 = "Wednesday";

    cout << setw(10) << day1 << setw(10) << day2 << setw(10) << day3 << endl;

    int hour1 = 8;
    int hour2 = 9;
    int hour3 = 10;

    int min1 = 05;
    int min2 = 20;
    int min3 = 30;

    cout << setw(10) << hour1 << ":" << min1 << setw(10) << hour2 << ":" << min2 << setw(10) << hour3 << ":" << min3 << endl;
    return 1;
}

这在视觉上并不令人满意。 “05”分钟也存在问题。

如下图所示。

我怎样才能做到对不对?

谢谢

Screenshot

1 个答案:

答案 0 :(得分:0)

您的第二个setw(10)仅适用于其后的内容,在本例中为hour1。如果您想让它看起来不错,可以调整setw() 类似于:cout << setw(7) << hour1 << ":" << setw(2) << min1