+1-316-444-1378

Demonstrate the understanding of structures and arrays of structures, and  extensive use of functions; (C-Language)
Demonstrate clear and elegant programming style.
Get rid of all error messages.
The output produced must be EXACTLY the same for every spaces and words.
The solution should be saved as myass2.c
I have attached a copy of the assignment handbook and txt files for the assignment, and also a sample solution of how the solution should be roughly outlined (the example answer to the previous assignment).
the files that should be loaded and run is the lights0.tsv, lights1.tsv and lights2.tsv, the output produced of those 3 files are lights0-out.txt, lights1-out.txt and lights2-out.txt respectively. This will be provided in the attachments.

MARKING RUBRIC

Some subset of the following lines will be retained by the marker.
Stages 1 to 4 initial allocation, +5;

Deductions
Some subset of the following lines will be retained by the marker. Marks in each section won’t go below zero.
#defines not in upper case, -0.5;
multi-letter variables in upper case, -0.5;
absence of function prototypes, -0.5;
bad choice for function names, -0.5;
bad choices for variable names, -0.5;
excessive commenting, -0.5;
insufficient commenting, -0.5;
inconsistent bracket placement, -0.5;
inconsistent indentation, -0.5;
lack of whitespace (visual appeal), -0.5;
lines >80 chars, -0.5;
use of magic numbers, -0.5;
unhelpful #defines, -0.5;
use of constant subscripts in 2d arrays (not #define’d), -1.0;
other stylistic issue (minor), -0.5;
other stylistic issue (major), -1.0;
Additions (included in total mark *only* if marks lost within this first section)
comment at end of source code that says “programming is fun”, +0.5;
overall care and presentation, +0.5;
Other comments from marker:

Structure and Approach

Including: decomposition in to functions, development of data structures and declaration of them at the appropriate locations, choice of parameters to functions, use of appropriate struct and typedef declarations, choice of algorithms or methods, overall flow and high-level readability.

Some subset of the following lines will be retained by the marker.
Stage 1 initial allocation, +3;
Stage 2 initial allocation, +3;
Stage 3 initial allocation, +1;
Stage 4 initial allocation, +1;

Deductions
Some subset of the following lines will be retained by the marker. Marks in each section won’t go below zero.
duplicate code segments, -0.5;
main program too long or too complex, -0.5;
other functions too long or too complex, -0.5;
global variables, -0.5;
insufficient use of functions, -0.5;
overly complex algorithmic approach, -0.5;
unnecessary duplication/copying of data, -0.5;
overly complex function argument lists, -0.5;
avoidance of structs (eg, using skinny 2d arrays), -1.0;
avoidance of struct pointers (eg, using whole-struct arguments), -0.5;
inappropriate or over-complex structs, -0.5;
other abuses of structs, -0.5;
other structural issue (minor), -0.5;
other structural issue (major), -1.0;
Other comments from marker:

Program execution

Including: compilation, execution on test data, output presentation and readability.
Programs that do not compile in the test environment will lose all marks in this section. So be sure to verify your submission and check the output before you say “finished” to yourself.

Some subset of the following lines will be retained by the marker.
Stage 1 initial allocation, +2;
Stage 2 initial allocation, +2;
Stage 3 initial allocation, +2;
Stage 4 initial allocation, +1;

Deductions
Some subset of the following lines will be retained by the marker. Marks in each section won’t go below zero.
errors in compilation that prevent testing, -4.0;
runtime segmentation fault on any test with no output generated, -2.0;
runtime segmentation fault on any other test with no output generated, -2.0;
unnecessary warning messages in compilation, -1.0;
incorrect Stage 1 output on any test, -1.0;
differently incorrect Stage 1 output on any test, -1.0;
numerically incorrect Stage 2 output on any test, -1.0;
different numerically incorrect Stage 2 output on any test, -1.0;
visually incorrect Stage 3 output on any test, -1.0;
different visually incorrect Stage 3 output on any test, -1.0;
incorrect Stage 4 output on any test, -1.0;
other execution-time issue not already captured, -1.0;