Many of you may be aware of the "Weekend Challenge" thread here at PFO. Well, I have decided to take the initative and create PFO's FIRST WEEKLY WEEKEND CHALLENGE! (Note: this is in no way sponsored or endorsed by PFO, the admins, or anyone else besides me.)
<challenge>
<overview>
You must create a grade-keeping system for teachers.
</overview>
<requirements>
1. The teacher shall be able to have an arbitrary number of students in the class.
2. The teacher shall be able to create assignments worth an arbitrary amount of points, and assign a score for each assignment to each student.
3. The teacher shall be able to create different categories, worth different percentages of the overall grade (for example, final exam: 20%, tests, 60%, homework, 20%).
4. The teacher shall be able to output nice-looking reports (they don't need to be printed, but have the program create a different text file for each student.)
</requirements>
<rules>
1. If your language of choice is C or C++, the code shall be able to be compiled with the Microsoft Visual C++ Toolkit 2003 or MinGW.
2. The code shall be able to be built with completely gratis build tools only, all of which must be runnable under Microsoft Windows XP Professional with Service Pack 2. Note: because of Cygwin, almost all the standard UNIX build tools are allowed under this rule.
3. It shall be easy to choose which compiler to compile the code with. (If using a makefile, include a line similar to this:
).
4. All submissions are due by midnight Eastern Standard Time on Monday, June 06th. That's early monday morning, NOT late monday night/early tuesday morning.
5. All submissions shall be packed into an archive format supported by IzArc (including ZIP, RAR, .tar.bz2, .tar.gz, and others) and e-mailed to
brennan.vincent@gmail.com
6. Any programming language may be used, as long as the use complies with the rest of these rules.
</rules>
<criteria>
Contestants shall be judged on the following criteria, with a winner for each section and an overall winner.
In no particular order:
1) Usability
2) Executable size
3) Efficiency
4) Features
</criteria>
</challenge>
GOOD LUCK, PROGRAMMERS!
The winner will judge next weeks weekend challenge!