A little testing shows that this seems to work for normal cases, but fails when the data is over 100% or below 0% (whether by accident or on purpose). You decide to write the input functions to avoid such non-sense as negative scores, but think maybe the over 100% wouldn't be bad if it were your score. So you alter your arrays a bit: cutoffs grades +-----+ +---+ | 100 | | + | +-----+ +---+ | 90 | | A | +-----+ +---+ | 80 | | B | +-----+ +---+ | 70 | | C | +-----+ +---+ | 60 | | D | +-----+ +---+ | 0 | | F | +-----+ +---+ MAX_cutoff = 6 Checking again, everything is working except the negatives. Just in case someone by-passes your input routines, you decide to make it safe and change: grade = (i >= MAX_cutoff) ? ('U') : (grades[i]); Now everything is working fine! Note how no changes are needed to the loop! Just the array needed to be changed to adjust it! Could this possibly be made into a nice generic function that could be applied to many problems -- simply getting the arrays and overflow error value as arguments? Wow!
A little testing shows that this seems to work for normal cases, but fails when the data is over 100% or below 0%
(whether by accident or on purpose). You decide to write the input functions to avoid such non-sense as negative
scores, but think maybe the over 100% wouldn't be bad if it were your score. So you alter your arrays a bit:
cutoffs grades
+-----+ +---+
| 100 | | + |
+-----+ +---+
| 90 | | A |
+-----+ +---+
| 80 | | B |
+-----+ +---+
| 70 | | C |
+-----+ +---+
| 60 | | D |
+-----+ +---+
| 0 | | F |
+-----+ +---+
MAX_cutoff = 6
Checking again, everything is working except the negatives. Just in case someone by-passes your input routines,
you decide to make it safe and change:
grade = (i >= MAX_cutoff) ? ('U') : (grades[i]);
Now everything is working fine!
Note how no changes are needed to the loop! Just the array needed to be changed to adjust it!
Could this possibly be made into a nice generic function that could be applied to many problems -- simply
getting the arrays and overflow error value as arguments? Wow!
using c++

Step by step
Solved in 2 steps









