Assignment 3: C Programming (15%)
Due – End of week 8 (9:00pm)
For help getting started with this Assignment 3 (eg. creating a Visual Studio or XCode project), please see the Appendix A at the end of this document.
Using appropriate C syntax, write the code required to analyse and display the data as per the problem description.
The order of the C Program should be as follows:
Variables and constants:
- Use #define statements to define the constants
- Use arrays to store the data, calculations and counts
- Describe the data requirements, variables etc
- Download data.csv from the unit website
- Read each individual data item from the file using an appropriate method into a two dimensional array
- Close the file when finished
- Describe the process to store the value for each row and column for an unknown number of rows and columns
- Describe the process to determine and display any values that are outside the constraints
- Describe the process to adjust any values that are outside the constraints to the designated min and max values
- Describe the process to roundup and display the data to 4 decimal places
- Describe the process to calculate and display the average for each station
- Describe the process to determine and display if any station month is within the designated tolerance
- Describe the process to select and display the best month the station should be serviced
- Describe the process to calculate and display the counts as per the specifications
- Ensure you use appropriate and efficient use of variables and constants in your design. I may wish to change the tolerance to see how this changes the outcome, as a consequence I should only change this in one constant to reflect the change throughout the spreadsheet.
- Clarity and readability are absolute key for this assignment! If your submission is hard to follow the marker will ultimately miss important information and you will lose marks. Make it readable.
Marking guide (15 points)
Variables and Constant
- Define the variables and constants required to store the data : 1.5
Raw data processing:
- Read and format the raw data and clearly identify any values the are outside the constraints : 1.0
Rounded and Corrected Data:
- Round up and display the data to 4 decimal places : 1.5
- Adjust and display the data to the min and max constraints as required : 1.0
- Calculate and display the Averages for each stations : 1.5
- Determine and displayif any month for each station is within the Tolerance : 1.5
- Display the calculated value that is within the tolerance or display a blank/appropriate character : 1.5
Best Month Prediction
- Determine and display the lowest value for each station that is within the tolerance and indicate the month of that value : 1.5
- Count and display the number of stations identified as best prediction for each month : 1.5
Design and presentation
· Code design is flexible and logical : 1.5
· Code formatting and comments are appropriate and well laid out: 1.0
- Code commenting and formatting is extremely important, and makes a big difference in the readability and understandability of your code. This will be taken into account when marking.
- Ensure you use appropriate and efficient use of variables and constants in your design. I may wish to change the tolerance to see how this changes the outcome, as a consequence I should only change this in one cell to reflect the change throughout the spreadsheet.
Please submit just your code file (and not the entire project) to the assignment dropbox by the due date.. Your code file is the file that you have written all of your code in, and it will have an extension of .cpp or .c. It can be found in the folder where you have saved your Visual Studio or XCode project. Your name and student ID must appear within comments at the top of the file.