CS 1704 Summer II 2003 

Project 4.2:  CGI Multimedia Organizer


Changes are in red.

Purpose:

  1. To introduce GUI via cgi, and
  2. To introduce recursion, and
  3. To introduce sorting.

Requirements:

For this project, I will require:

  1. Extend Project 4.1's modification of Project 2.
  2. All commands must be input from the screen via a menu.
  3. A recursive merge sort algorithm to be implemented for both the DLinkedList of items and students.  Some array-based code and demo can be found at the following links.             
  4. http://shell.uriel.net/~mozart/File/Merge1/mergesort.html 
  5. http://www.halcy0n.com/docs/mergesort.html
  6. I MAY require a design document of the GUI, TBA.

The Project

For the first phase of the project, the commands were still read from a file named "commands.data".  Phase 2 requires that the commands be read from the screen.  When your program starts it should display a menu of the following commands.  The layout and format is up to you: you may use buttons, links (as shown in class), which may be horizontal, vertical, in tables, etc.  This layout is up to you.

  1. Print All Students
  2. Print All Items
  3. Print One Student
  4. Add an Item
  5. Add a Student
  6. Delete a Student
  7. Sort Students
  8. Sort Items
  9. Quit

Print All Students

Print All Items

Print One Student

Add an Item 

Add a Student 

Delete a Student

Sort Students

Sort Items

Quit

Standards:

As with all programming projects in this course, please see http://courses.cs.vt.edu/~cs1704/summer2003/standards.htm for a list of requirements that apply to all projects.  YOU WILL BE GRADED on these.  In addition, include the following pledge at the bottom of your file:

On my honor:

- I have not discussed the C++ language code in my program with anyone other than my instructor or the teaching assistants assigned to this course.

- I have not used C++ language code obtained from another student, or any other unauthorized source, either modified or unmodified.

- If any C++ language code or documentation used in my program was obtained from another source, such as a textbook or course notes, that has been clearly noted with a proper citation in the comments of my program.

- I have not designed this program in such a way as to defeat or interfere with the normal operation of the Curator System.
<Your Name>

Submission

This project will be demoed.  I will have sign-up sheets available on Tuesday for students to set up times for Tuesday-Friday.  I will give a 10% incentive for projects demoed on Tuesday, a 5% extra credit incentive for projects demoed on Wednesday and a -5% negative incentive for projects demoed on Friday.  Since I have to submit final grades to the Hokie Spa on Friday, I will absolutely under no circumstances be doing any demos after 3:00 PM on Friday, August 8th.  The late penalty is 100% of the weight of the project.  More submission details may be added here next week.

If it happens that too many students want to demo on a certain day, I will accept a Floppy disk containing all source code during class with the assumption that even though the project will be demoed on a further date, it was submitted at the earlier time.  However, I will NOT allow students to bring out a new version of their code during the demo of they do not like the grade for their code on the Floppy.