This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:spring2017:cprog:projects:gfo0 [2016/04/13 16:46] – external edit 127.0.0.1 | haas:spring2017:cprog:projects:gfo0 [2017/03/17 22:36] (current) – [Errata] wedge | ||
---|---|---|---|
Line 10: | Line 10: | ||
=====Errata===== | =====Errata===== | ||
- | * __correction__: | + | * any updates/ |
=====Objective===== | =====Objective===== | ||
To implement a programmatic solution (ie simulation) of a real life process- the obtaining, processing, and display of your status in the course. | To implement a programmatic solution (ie simulation) of a real life process- the obtaining, processing, and display of your status in the course. | ||
Line 34: | Line 33: | ||
Now that we are nearing the end, and your programming skillset is significantly expanded, I would like you to write a program to take this data and calculate your grade (reflective of currently recorded data). | Now that we are nearing the end, and your programming skillset is significantly expanded, I would like you to write a program to take this data and calculate your grade (reflective of currently recorded data). | ||
- | I've designed a tool that will take all your **status** data and ' | + | I've designed a tool that will take all your **status** data and ' |
For example: | For example: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
- | lab46: | + | lab46: |
- | -1 0 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 -2 1 1 1 0 1 0 1 0 1 0 0 1 -3 11 13 6 9 4 9 5 9 6 9 19 20 6 0 18 20 -4 | + | cprog.status.flat |
+ | lab46: | ||
+ | -1 1 1 1 1 1 1 0 0 0 0 0 0 -2 4 8 2 8 6 8 4 8 6 8 8 8 8 8 1 0 -3 32 39 42 52 32 52 51 52 46 52 52 52 73 78 24 0 -4 | ||
lab46: | lab46: | ||
</ | </ | ||
Line 47: | Line 48: | ||
Your program needs to do the following: | Your program needs to do the following: | ||
- | * check for and open the **status.flat** file | + | * check for and open the **cprog.status.flat** file |
* if error occurs, display message and exit | * if error occurs, display message and exit | ||
* reading one integer at a time, load the values into an array according to their category | * reading one integer at a time, load the values into an array according to their category | ||
* there will be three categories (arrays), each one identified by a header/ | * there will be three categories (arrays), each one identified by a header/ | ||
- | * -1 indicates the start of participation data (28% of grade) | + | * -1 indicates the start of participation data (13% of grade) |
- | * -2 indicates end of participation data / start of journal data (36% of grade) | + | * -2 indicates end of participation data / start of journal data (13% of grade) |
- | * -3 indicates end of journal data / start of project data (36% of grade) | + | * -3 indicates end of journal data / start of project data (52% of grade) |
* -4 indicates end of project data (and end of data stream) | * -4 indicates end of project data (and end of data stream) | ||
- | * once loaded into their arrays, calculate | + | * once loaded into their arrays, calculate |
* tally up all three, and print out the results | * tally up all three, and print out the results | ||
+ | * calculate the current overall score, with a precision of 3 decimal places | ||
+ | * display the letter grade | ||
- | Final program output should resemble the following: | + | Letter grades are on the following scale: |
+ | |||
+ | * A (100.00+) | ||
+ | * A- (94.00-99.99) | ||
+ | * B+ (88.00-93.99) | ||
+ | * B (82.00-87.99) | ||
+ | * B- (76.00-81.99) | ||
+ | * C+ (70.00-75.99) | ||
+ | * C (64.00-69.99) | ||
+ | * D (58.00-63.99) | ||
+ | * F ( 0.00-57.99) | ||
+ | |||
+ | Final program output should resemble the following | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
- | Participation | + | Participation: |
- | Journal | + | Journal: |
- | Projects | + | |
- | Total: | + | ------------------------------------- |
+ | Total: | ||
+ | ===================================== | ||
+ | Score: | ||
+ | Grade: | ||
lab46: | lab46: | ||
</ | </ | ||
- | |||
=====Submission===== | =====Submission===== | ||
Line 74: | Line 92: | ||
* Code must compile cleanly (no warnings or errors) | * Code must compile cleanly (no warnings or errors) | ||
- | * Use the **-Wall** | + | * Use the **-Wall** |
* Output must be correct, and resemble the form given in the sample output above. | * Output must be correct, and resemble the form given in the sample output above. | ||
* Code must be nicely and consistently indented (you may use the **indent** tool) | * Code must be nicely and consistently indented (you may use the **indent** tool) | ||
- | * Code must utilize the algorithm presented above | + | * Code must utilize the algorithm/ |
* Code must be commented | * Code must be commented | ||
- | * have a properly filled-out comment banner at the top | ||
- | * have at least 20% of your program consist of **< | ||
* Track/ | * Track/ | ||
* Submit a copy of your source code to me using the **submit** tool. | * Submit a copy of your source code to me using the **submit** tool. | ||
Line 96: | Line 112: | ||
You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches. | You should get some sort of confirmation indicating successful submission if all went according to plan. If not, check for typos and or locational mismatches. | ||
+ | What I will be looking for: | ||
+ | < | ||
+ | 78: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | *: | ||
+ | </ |