Analyze, design, and document a simple program that utilizes a good design process and incorporates sequential, selection and repetitive programming statements as well as at least one function call and the use of at least one array. Each of these items (sequential code, at least one selection statement, at least one loop, at least one function call, at least one array and associated processing of the array) is required, and must be present in code.

Also design a program that will allow a user to input a list of family members along with their age and state where they reside. Determine and print the average age of your family and print the names of anyone who live in Texas. You may assume that there are no more than 100 living relatives in your family.

Project Deliverables:

•The first delivery is the project plan which provides your problem statements, problem analysis, and how it will comply with the project specifications.

•The final delivery will be your completed project design along with your code comments and comprehensive test plan.
I know a test plan is just redoing the code with different variables but first I must master the code to do the test

This is what I did so far.

Declare a main module
Initialize an array fn of two dimension character. fn[100][50];
Declare an array of character. char state[100];
Initialize another array c and Initialize to low
Declare another array age.
Input total number of records in n
Input value for array fn, age and state in a Loop till n

Calculate the total age in the avg variable
Print total average by dividing the avg by n
Loop until n
compare the value of state to "lowa" or "LOWA"
Print value which fulfills the condition

In general, the pseudocode is a very good start. Here are just a few checkpoints.

Where are you storing the age? In an array, or you dispose of it as you read?

"Initialize another array c and Initialize to low "
"low" has not been declared. Is it 0, or -1?

You could give some more details how you manage the arrays.

What are you trying to achieve?
- average age?
- youngest age?

You'll need to account for the state="texas" as well.

It seems like you have made some progress on your program. To ensure that you meet all the requirements, let's go through the steps one by one.

1. Declare a main module: This is the starting point of your program. It's where you will define and call other functions.

2. Initialize an array fn of two-dimensional characters. fn[100][50]: This array will hold the names of family members. It has a size of 100, allowing you to store up to 100 names, with each name having a maximum length of 50 characters.

3. Declare an array of characters. char state[100]: This array will hold the states where each family member resides. It has the same size as the name array to ensure a one-to-one mapping between names and states.

4. Initialize another array c and initialize it to "low": It seems like c is not defined in the problem statement, but if you need another array, make sure to initialize it correctly.

5. Declare another array age: This array will store the age of each family member. It should also have a size of 100 to match the number of names and states.

6. Input the total number of records in n: Prompt the user to enter the number of family members they want to input. Store this value in the variable n.

7. Input values for the arrays fn, age, and state in a loop until n: Use a loop to prompt the user for each family member's name, age, and state. Store these values in the respective arrays. Make sure to repeat this process n times.

8. Calculate the total age in the avg variable: Sum up all the ages stored in the age array and store the result in the variable avg.

9. Print the total average by dividing avg by n: Calculate the average age by dividing the total age (avg) by the number of family members (n). Print this value as the average age of your family.

10. Loop until n and compare the value of state to "Texas": Use a loop to iterate through each family member and check if their state of residence is "Texas". If it is, print the corresponding name from the fn array.

Remember, these steps are for the program design. You will need to implement the code according to these steps. Additionally, don't forget to include proper code comments to explain your logic and functionality. Finally, for your comprehensive test plan, you can indeed test the program with different sets of input data to ensure it works correctly.