setw

The following code produces the output 1.
What changes do i need to hava output 2?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <iomanip>
#define tamanho 2
using namespace std;
struct linha{
        string nome;
        int idade;
        float altura;
};

int main(){
        int i;
        //declarar array de estrutura
        linha pessoas[tamanho];
        //inserir dados
        pessoas[0].nome="Catia Vanessa";
        pessoas[0].idade=17;
        pessoas[0].altura=1.75;
        pessoas[1].nome="Manuel Catarino";
        pessoas[1].idade=5;
        pessoas[1].altura=0.75;
 
        //header
        cout << "Nome                Idade     Altura" << endl;        
        //content
        for(i=0;i<tamanho;i++){
                cout << setw(20) << pessoas[i].nome;
                cout << setw(10) << pessoas[i].idade;
                cout << setw(10) << pessoas[i].altura << endl;
        }
        return 0;
}


Output 1:
1
2
3
Nome                Idade     Altura
       Catia Vanessa        17      1.75
     Manuel Catarino         5      0.75


Output 2:
1
2
3
Nome                Idade     Altura
Catia Vanessa               17      1.75
Manuel Catarino              5      0.75

I'm not using setfill but i will later.

Thanks
Last edited on
 
cout << setw(20) << std::left << pessoas[i].nome;
Thaks ... that is just what i neaded.
The final version will be:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <iostream>
#include <iomanip>
#define tamanho 2
using namespace std;
struct linha{
        string nome;
        int idade;
        float altura;
};

int main(){
        int i;
        //declarar array de estrutura
        linha pessoas[tamanho];
        //inserir dados
        pessoas[0].nome="Catia Vanessa";
        pessoas[0].idade=17;
        pessoas[0].altura=1.75;
        pessoas[1].nome="Manuel Catarino";
        pessoas[1].idade=5;
        pessoas[1].altura=0.75;
 
        //header
        cout << "Nome                     Idade    Altura" << endl;        
        //content
        for(i=0;i<tamanho;i++){
                cout << setw(20) << left << pessoas[i].nome;
                cout << setw(10) << right <<pessoas[i].idade;
                cout << setw(10) << pessoas[i].altura << endl;
        }
        return 0;
}

Last edited on
Topic archived. No new replies allowed.