The program should ask the user a series of questions (cout), read in their answers (cin), store them in appropriate variables based on the type of answer expected and then use if statements and/or arithmetic expressions to respond to the user and process all their answers into a conclusion. You should give the user plenty of feedback about their answers (right/wrong, what happens next, how their "score" was computed, what happened at the end, etc.).
I recommend avoiding free form questions like "How would you characterize your relationship with your parents?" because you will have to recognize/process their answers. That can get complicated. Instead, ask questions that have a well-defined range of possible answers (Yes/No questions with a prompt for y/n, questions with numerical answers, a menu of possible answers a-e, etc.)
If you ask for a string (e.g. "What is your name?"), keep in mind that reading in multiple word answers (e.g. "Jane Doe") will take a little extra work.
You should give the user helpful error messages when they enter invalid answers. Asking them again until they get it right is not required, but would be a nice addition.
You also need to give them a summary of your conclusions about their answers. For example, it could be information on their score and what that score means.
Part of this assignment is to have as many people as possible run your program and give you feedback. Did you give good error messages? Did they understand what to do? Did you give an understandable summary/feedback on all their answers? I will be providing you with a sheet you can use to have people sign when they've tried your program. There will be a prize for whoever has the most people try their program. You must have at least 5 other people in CS141 try your program. Feel free to modify your program as you go based on people's feedback.