Output aligned columns

c++, cout

Solution

In the class employee of print employee method: Use this line to print.

cout << setw(20) << left << surname << setw(10) << left << empNumber << setw(4) << hourlyRate << endl;

You forgot to add "`<< left`". This is required if you want left aligned.

Hope it ll useful.

Problem

I am learning C++. I have a problem formatting the output of my program. I would like to print there columns perfectly aligned but so far I cannot do it, here is my code: ``` int main() { employee employees[5]; employees[0].setEmployee("Stone", 35.75, 053); employees[1].setEmployee("Rubble", 12, 163); employees[2].setEmployee("Flintstone", 15.75, 97); employees[3].setEmployee("Pebble", 10.25, 104); employees[4].setEmployee("Rockwall", 22.75, 15); printEmployees(employees, 5); return 0; } // print the employees in my array void printEmployees(employee employees[], int number) { int i; for (i=0; i<number; i++) { employees[i].printEmployee();// this is the method that give me problems } cout << "\n"; } ``` in the class employee I have the print employee method: ``` void printEmployee() const { cout << fixed; cout << surname << setw(10) << empNumber << "\t" << setw(4) << hourlyRate << "\n"; } ``` Problem is when I print "flinstones" line the emp number and rate are not lined up. something like this happens: ``` Stone 43 35.750000 Rubble 163 12.000000 Flintstone 97 15.750000 Pebble 104 10.250000 Rockwall 15 22.750000 ``` Can anybody help me? (I tried to add tabs.. but it didn't help)

Original source

Related problems