It would be excessively difficult to create an accurate UAI calculator. You could simplify the process by not actually calculating the UAI on a rank. As ianc said, you won't really be getting marked on the extravagance of your program, rather the documentation - both internal and external - the interface designs, and use of structures like modules, etc.
VERY LIMITED FOUNDATION (VB.NET Style)
Limit the subject choices
Have checkboxes next to subjects and two text boxes for HSC mark and Internal Assessment mark, but lock these text boxes
Make it so a mimimum of 5 checkboxes must be checked for the text boxes to unlock (only unlock the checked text boxes)
Instead of trying to program all the complexed stages that attirbute to the UAI I would do this:
1. Add the HSC mark and internal marks
2. Divide them by two
3. I guess use a multiway selection (CASEWHERE) to determine each subject
4. Under each CASE heading have something like this:
Code:
CASEWHERE: Subject
CASE: Physics
CASEWHERE phyTotalmark
CASE < 50
phyScaledMark = 65
CASE < 60
phyScaledMark = 70
etc. etc.
5. After all subjects are scaled, determine the highest 4 scaled marks and automatically include English (you could add something to not do this if the person chose extension 1 and 2 English if you choose to include them)
6. Divide these scores by 5 to obtain a mean mark.
7. Either round the mark to the closest 0.05 (I have no idea how) or just round off to an integer
8. That could be the UAI
Please note that this is an extremely simplified and inaccurate model of the process. I'm suggesting it as an easy option if you really want to make something like this. I am also a beginner at programming, and I would try to do something like this if I wanted to make a UAI calculator.