CMIS Project

profileNayne332
cmis_102_final_project.pdf

Lap 8 : Final Project

Your final project will be to analyze, design, and document a simple program that utilizes a good

design process and incorporates sequential, selection and repetitive programming

statements(i.e loops) as well as at least three functions and the use of at least three parallel

arrays. Your program must collect all the information from the user, then do the calculations

and display of the total counts. The specific problem you need to solve for the final project is:

Design a program that will allow a user to Input a list of his Classmate's studentID along with

their Student Major (where 1=Mathematics, 2=Comp.Science, 3=other) and Age. You must first

collect all the information from the user ( three parallel arrays). Then, count the number

of each Major and calculate the average age of the classmates. Finally display all the

information collected (with each student information on a separate line). After the list is printed

then display these counts of each of the Majors, and the average age.

Optional data items: Student Name –Collect and Display +1pts Student City or Residence – Collect and Display +1pts Student Marital Status (Married,Single) – Collect and Count each and Display +2pts Gender (Male, Female) –Collect and Count each and Display +2pts

There are 4 components of your submission including:

 Analysis- Demonstrates your thought process and steps used to analyze the problem. Be

sure to include the required input and output and how you will obtain the required output

from the given input? Also, include your variable names and definitions. Be sure to

describe the necessary formulas and sample calculations and processes that might be

needed.

 Design – choose 1 of the following two design tools…..

o Program Design- A detailed, clear description of the program you are building. It should show the flow and logic of your program.(this is the outline approach)

o Flowchart – Provide a flowchart for your design. You can use Excel, Word,

Powerpoint, Visio or any software you have available that will allow to draw

shapes and connectors

o Pseudocode- Provide pseudocode of your overall design that fulfills the

requirements of the project

 Test plan - Prepare at least 1 set of input data (Test data) along with their expected

output for testing your program. Your test data can be presented in the form of a table

and must contain at least 10 classmates.

 C-code – submit a separate .c or .txt file.

- Make sure you code is documented with header and in-line comments and is neatly (i.e. indented properly) written

All of these components (except the C-code) should be placed in word (or other acceptable)

document for submission.

OPTIONAL: You may choose to do the Pseudo-code instead of the C-code but it is only

worth 15pts (meaning the highest possible grade will be a 90). And you must do the

Program Design or Flowchart for the Design section.

Additional details about the program you need to consider:

1. Class sizes vary, however you should design to be able to enter at most 40 Classmates, but be flexible enough to handle less than 40. It will be easier if you loop on studentID

(which should be an Integer array)

2. Your test case should have at least 10 classmates. 3. Be sure to separate some functionality into functions. Having all functionality in the main

module is not a good design.

4. Your design should consider how to indicate the classmate entry is complete. 5. Carefully consider the best data type for each of your variables. (e.g. when to use Float

versus Integers versus Strings versus Boolean)

6. Strings in C are an array of characters, hence an array of Names will need to be two dimensions, one for the number of classmates, one for the length of the Names.

7. If you use one char for Gender the arrays can then be one dimension. But it may be easier to use an integer array and store a 1 or 2. OR a Boolean array.

Suggestion: Do you Analysis and Design first then implement in C in a stepwise fashion. In others, implement the loop first, compile, and run. Then implement the next step (i.e. the prompts and input) then compile and run. Save your code at each step so you have something to fall back to.

Submission requirements:

See Submission requirements under Syllabus.

Grading guidelines:

Analysis: (20pts)

Design: (25pts)

Test Plan: (20pts)

C-code: (25pts) OR Pseudo-code (15pts)

Documentation: (10pts) - Header and In-line comments, Indentation, Filename specs