Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;setw问题。输出不对齐,其移动了几个空间,这是为什么?_C++ - Fatal编程技术网

C++ C++;setw问题。输出不对齐,其移动了几个空间,这是为什么?

C++ C++;setw问题。输出不对齐,其移动了几个空间,这是为什么?,c++,C++,我正在使用的代码: cout<<setw(70)<<left<<"\n\n1. Monthly salary"; cout<<": RM"; cin>> monthsal; cout<<"2. Any KWSP deduction?\n"; cout<<setw(70)<<left<<" Type 'Y' for

我正在使用的代码:

cout<<setw(70)<<left<<"\n\n1. Monthly salary";
cout<<": RM";
cin>> monthsal;

cout<<"2. Any KWSP deduction?\n";
cout<<setw(70)<<left<<"   Type 'Y' for Yes and 'N' for No";
cout<<": ";
cin>>kwsp;
(在冒号上对齐。)

我的代码的输出:

1. Monthly salary                        : RM3200
2. Any KWSP deduction?
  Type 'Y' for Yes and 'N' for No          : Y
如何使输出正确对齐?

您可以尝试此代码

cout<<setw(70)<<left<<"\n1. Monthly salary";
cout<<": RM";
cin>> monthsal;
cout<<"2. Any KWSP deduction?";
cout<<setw(70)<<left<<"\n   Type 'Y' for Yes and 'N' for No";
cout<<": ";
cin>>kwsp;
cout你可以试试这个代码

cout<<setw(70)<<left<<"\n1. Monthly salary";
cout<<": RM";
cin>> monthsal;
cout<<"2. Any KWSP deduction?";
cout<<setw(70)<<left<<"\n   Type 'Y' for Yes and 'N' for No";
cout<<": ";
cin>>kwsp;

cout考虑:
cout考虑:
cout我还是说不出你想让它怎么对齐。您是否希望“1.月薪”和“2.任何KWSP扣减?”都在同一行,但用户输入介于两者之间?很抱歉,我还是有点新,需要调整输出。冒号需要对齐。如果有点让人困惑,我很抱歉,因为我对编码和这方面还是新手。您需要使用单空格字体。看起来
“\n\n1.月薪”
中的前导换行符弄乱了宽度设置。请尝试将这些内容与宽度格式化指令分开打印。我刚刚添加了一些图片作为参考。我仍然无法确定您希望如何对齐这些内容。您是否希望“1.月薪”和“2.任何KWSP扣减?”都在同一行,但用户输入介于两者之间?很抱歉,我还是有点新,需要调整输出。冒号需要对齐。如果有点让人困惑,我很抱歉,因为我对编码和这方面还是新手。您需要使用单空格字体。看起来
“\n\n1.月薪”
中的前导换行符弄乱了宽度设置。尝试从宽度格式化指令中分别打印这些内容。我只是添加了一些图片作为参考。我认为从顶部删除
\n\n
,或者至少在
setw
之前打印它,而不是作为它的一部分,会更好。我重新安排了。我想这一次有效:)我想从顶部删除
\n\n
,或者至少在
setw
之前打印它,而不是作为它的一部分,会更好。我重新安排了。我想这次成功了:)非常感谢,我终于做到了:D非常感谢,我终于做到了


OK!Hi    <-- notice no spaces between `OK!` and `Hi`
cout << "\n\n";
cout << setw(70) << left << "1. Monthly salary";
 ⋮