jwcolby
jwcolby at colbyconsulting.com
Tue Oct 13 10:37:59 CDT 2009
>Do these classes inherit typed datasets?
Nope, no connection to a database.
The original assignment was to build a grade calculator where you simply input a list of grades.
There are three types of grades, each with a different weight (Tests - 40% of grade, Labs - 50% of
grade and DL 10% of grade).
There is no requirement to do anything more than the above, calculating a total count of each grade
type, sum of each type, average of each type and weighted average of each type, and then the same
calculations for the totals.
In order not to be bored to death, and with the approval of the instructor, I expanded the
assignment to include using classes and collections. I store each grade in an instance of clsGrade.
I store all of each TYPE of grade in an instance of clsGrades (plural) which contains a generic
collection into which the instances of clsGrade are inserted. This collection is strongly typed so
that it can only accept clsGrade objects.
Each instance of clsGrades (plural) is inserted into a sorted list in clsCalculator, keyed on
GradeType (keyed on the string "Test", "Lab" or "DL"). In the main form there is a combo with three
grade type strings ("Test", "Lab" and "DL") which when selected is passed in to clsCalculator which
indexes into the collection to access the correct instance of clsGrades. Adding new grades,
deleting grades and updating existing grades is all done on the selected instance of clsGrades.
So...
clsCalculator - interfaces to the form and has a sorted collection holding three instances of...
clsGrades - contains a strongly typed generic collection holding multiple instances of ...
clsGrade - contains each grade.
clsGrades performs the calculations to count (collection.count), sum, average and weighted average
all of the grades contained within.
clsCalculator requests the various computed values from the three instances of clsGrades and
performs the calculations to create an overall Count (sum of clsGrades.Count), Sum (sum of
clsGrades.Sum), Average, weighted sum etc.
Now...
I want to write the grades in each clsGrades instance to a single file, then read it back in again.
Persist the grades to disk. I have no requirement to persist the data to disk, I simply want to
do so.
Please please please do not suggest a "better way" for doing the assignment, it is all written and
functions exactly as you would expect it to work. You may of course enlighten me on different
options, but I will not be rewriting the core assignment at this point.
This was just a homework assignment and it is in fact finished. If I can persist it great, if not
that's OK too. I have learned a lot and thought I might learn how to do the persist thing, streams,
serialization (if that is used) etc. Even classes and collections are a "next semester" thing so I
am ahead of the curve at this point.
John W. Colby
www.ColbyConsulting.com
Charlotte Foust wrote:
> John,
>
> I'm not sure I understand what you're doing. Do these classes inherit
> typed datasets? If so, the parent class can easily return a child class
> that already contains a typed dataset of child records. You don't
> actually need collections for that. In that case, grade wouldn't need
> to be a class (although it could be, I just don't see any need). The
>
> Charlotte Foust