if you have the data you need for the output, you need to write a function to generate the output the way you want it, or rewrite the one that currently generates the output.
satisfied and unsatisfied are booleans. its probably something like if (something > minrequred) satisfied = true else satisfied = false. then a string array: const string satisfaction[]{"unsatisfied","satisfied"};
and a cout statement: cout << things... << satisfaction[satisfied] << endl;
//uglier, but concise, you can put the boolean expression in the [] instead of having a variable for it
that is satisfaction[x > y] will do the job
the rest of it is just numbers that you already have. A classic for loop with an i++ type counter lets you print the line numbers, just watch the off by 1 (if you start i at 0 to do a container's first location, cout << i+1 instead of cout << i ).
you can use '\t' to put tabs between columns to make it line up.
Can you do it with those hints?
First, work out how to produce the required output from the given data manually using pen/paper. Once you know this, then specify the steps needed to do this. This is the algorithm design. Then this can be made into a program design and then coded from this. Coding is the last thing you do when developing a program!
If you describe the algorithm/design then we'll be able to advise re the coding.