一个C++题目请高手解答

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:15:39
编写一个程序,按以下格式输出数据,其中姓名部分宽度为7,第2 列和第3列数据宽度为10:
李华 256.8----- ***12345.6
王丽 800.5----- ***4545.65
陈强 345.2----- ****231246
(请问“姓名宽度”怎么设置啊,我不懂啊,请高手指教!

#include <iomanip.h>
setw(7);
setw(10);

用标准库<string>里的setw()
它是set width 的缩写。
cout<<setw(后面字符串所占的宽度)<<字符串;
这样就会设置使 字符串所占宽度为一定的数值(在这个宽度范围内右对齐,即以左边补空格的方式setw)
===============
最后一列那个用*补空位是用for循环写:
那些数值要为string字符串.
假设str1=12345.6
用length=str1.len()获得str1的长度
然后
for(i=0;i<(10-length);i++)
{cout<<"*";}
即可把数字前面的空位补上(10-length)个*
数值和* 恰好占了10个位置