User Tools

Site Tools


haas:spring2016:cprog:projects:gfo0

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
haas:spring2016:cprog:projects:gfo0 [2016/04/12 16:52] – [Function prototype] wedgehaas:spring2016:cprog:projects:gfo0 [2016/04/13 16:46] (current) – [Bonus] wedge
Line 7: Line 7:
  
 ======Project: PROCESS IMPLEMENTATION - GRADE FIGURE-OUTERER (gfo0)====== ======Project: PROCESS IMPLEMENTATION - GRADE FIGURE-OUTERER (gfo0)======
 +
 +=====Errata=====
 +
 +  * __correction__: There was a bug in my **flattenstatus** script; if you ran it before 8:20am on Wednesday, April 13th, then you may have incorrect data. Re-run it to generate a fresh and correct copy. (20160413)
  
 =====Objective===== =====Objective=====
Line 24: Line 28:
 This information has been accessible via the **status** tool. This information has been accessible via the **status** tool.
  
 +=====Program=====
  
 +Throughout the semester, your class-related activities have been numerically captured and made available to you via the **status** tool.
  
-=====Task===== +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).
-The task at hand can benefit from loop and array assistance.+
  
-For instance, taking the number input and processing it so each digit occupies its own array element would facilate your efforts in the overall task-- a process strongly resembling some of the work you had to do in the **mbe1** project to get your input ready for the multiply by 11 activity.+I've designed a tool that will take all your **status** data and 'flatten' it... converting all the necessary data into one stream of values. To obtain this data, simply run the **flattenstatus** command and the file **status.flat** will be created in your current working directory.
  
-=====Functions===== +For example:
-As indicated, this task shares many attributes with the **mbe1** project; in fact, the mental math process itself may be slightly simpler. That affords us the opportunity to introduce and learn about further programming optimizations, without the concurrent burden of new concepts.+
  
-Specifically, we will look at modularizing aspects of our solution, using functions, to make for a cleaner, more organized codebase.+<cli> 
 +lab46:~/src/cprog/gfo0$ flattenstatus 
 +lab46:~/src/cprog/gfo0$ cat status.flat 
 +-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 
 +lab46:~/src/cprog/gfo0$  
 +</cli>
  
-We've been using functions all along (everytime you use **fprintf()** or **fscanf()**for instance), but the value is not just in using pre-existing onesbut also in making our own to use.+Your program needs to do the following: 
 + 
 +  check for and open the **status.flat** file 
 +    * if error occurs, display message and exit 
 +  * 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/sentinel value: 
 +    -1 indicates the start of participation data (28% of grade) 
 +    -2 indicates end of participation data / start of journal data (36% of grade) 
 +    -3 indicates end of journal data / start of project data (36% of grade) 
 +    -4 indicates end of project data (and end of data stream) 
 +  once loaded into their arrayscalculate the grade component 
 +  * tally up all threeand print out the results 
 + 
 +Final program output should resemble the following: 
 + 
 +<cli> 
 +lab46:~/src/cprog/gfo0$ ./mygrade 
 +Participation Component: 20 / 28 
 +Journal Component:       20 / 36 
 +Projects Component:      30 / 36 
 +Total:                   70 /100 
 +lab46:~/src/cprog/gfo0$  
 +</cli>
  
  
Line 65: Line 96:
 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.
  
-====0x4: Data Processing==== 
- 
-Throughout the semester, your class-related activities have been numerically captured and made available to you via the **status** tool. 
- 
-Now that we are at 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 'flatten' it... converting all the necessary data into one stream of values. To obtain this data, simply run the **flattenstatus** command and the file **status.flat** will be created in your current working directory. 
- 
-For example: 
- 
-<cli> 
-lab46:~/src/cprog/eoce/0x4$ flattenstatus 
-lab46:~/src/cprog/eoce/0x4$ cat status.flat 
--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 
-lab46:~/src/cprog/eoce/0x4$  
-</cli> 
- 
-Your program needs to do the following: 
- 
-  * check for and open the **status.flat** file 
-    * if error occurs, display message and exit 
-  * 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/sentinel value: 
-    * -1 indicates the start of participation data (28% of grade) 
-    * -2 indicates end of participation data / start of journal data (36% of grade) 
-    * -3 indicates end of journal data / start of project data (36% of grade) 
-    * -4 indicates end of project data (and end of data stream) 
-  * once loaded into their arrays, calculate the grade component 
-  * tally up all three, and print out the results 
- 
-Final program output should resemble the following: 
- 
-<cli> 
-lab46:~/src/cprog/eoce/0x4$ ./0x4 
-Participation Component: 20 / 28 
-Journal Component:       20 / 36 
-Projects Component:      30 / 36 
-Total:                   70 /100 
-lab46:~/src/cprog/eoce/0x4$  
-</cli> 
  
haas/spring2016/cprog/projects/gfo0.1460479923.txt.gz · Last modified: 2016/04/12 16:52 by wedge