I am looking to create a Golf Handicap scoring program. I have started on a program that works, but it is not quite what I am looking for. Currently a user inputs a specified number of scores (2), a course rating, a slope rating and the program then computes the handicap based on the these variables input by the user. To truly compute a golf handicap, a golfer should enter up to 20 scores, and the handicap should be computed with the 10 lowest scores entered out of the 20.
What I would like to do with the program, is allow a user to enter anywhere from 0 to 20 scores, rather than defining the number of scores that must be entered by a user (currently two). Some golfers may have 5 scores, while others have 20 scores that could be used to calculate the handicap. What I am looking for is someone to help me modify the program so that it will prompt a user and ask "how many scores would you like to enter?". If the user enters 15, the program would then allow the user to enter only 15 scores. After entering the 15 scores, the program would then compare the 15 scores, and only average the lowest 10 scores from the 15 entered by the user. The average score would then be sent to the handicap::formula function to compute the handicap.
Or, the program could be completed by allowing the user to be prompted to "begin enter scores, and select -1 when finished entering scores". After the user has entered anywhere from 1-20 scores, the program would only keep the lowest 10 scores. When the user is finished entering scores, the user could be allowed to select -1 to instruct the program that no more scores are to be entered, so go compute the handicap based on the scores entered. Either of the two methods for entering scores by the user would be fine. However, the second method for computing scores is preferred (enter scores, and signal that no more scores are to entered by typing -1).
I have already input a working handicap formula which is based on the average of all the scores entered, a slope rating (example 130), a constant (113), and a course rating (example 70.0) [average of scores - course rating) * 113 / slope rating]. If anything in the supplied code needs to be changed or removed, feel free to make changes where appropriate.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Exclusive and complete copyrights to all work purchased. (No GPL, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site).
The program should be written into a single file and should operate using either Borland Turbo C++ version 4.5 or MS Visual C++ version 5.0