Bab*_*zzz 0 c++ cout alignment
我的程序中有一个小的对齐问题.
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << setw(5) << "Sl. No:" << setw(15) << "Month" << setw(15) << "Name" << endl << endl;
cout << setw(5) << 1 << setw(15) << "January" << setw(15) << "Abhilash" << endl;
cout << setw(5) << 2 << setw(15) << "Februaury" << setw(15) << "Anandan" << endl;
cout << setw(5) << 3 << setw(15) << "March" << setw(15) << "Abhilash" << endl;
cout << setw(5) << 4 << setw(15) << "April" << setw(15) << "Anandan" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我得到的输出中,月份的名称不正确.
Sl. No: Month Name
1 January Abhilash
2 Februaury Anandan
3 March Abhilash
4 April Anandan
Run Code Online (Sandbox Code Playgroud)
什么似乎是问题?
字符串Sl. No:是7宽,你试图将它装入5宽的列.这将第一行推过2列.尝试将第一列宽7而不是宽5宽:
cout << setw(7) << "Sl. No:" << setw(15) << "Month" << setw(15) << "Name"
<< endl << endl;
cout << setw(7) << 1 << setw(15) << "January" << setw(15) << "Abhilash"
<< endl;
//...
Run Code Online (Sandbox Code Playgroud)