The George Washington University
School of Engineering and Applied Science
Department of Electrical Engineering and Computer Science

CSci 131 - Data Structures
Programming Project #2

Due Date: February 27, 1997

The second programming project involves transforming the simple student information system from project one into a student database. This transformation requires the following steps:

1. You are to write a student package. Complete the following package specification and write the corresponding package body.

WITH Currency, Dates;
PACKAGE Student_Package IS
  TYPE Students IS PRIVATE;
  FUNCTION Make_Student(Name: String; ID: Integer;
    Birth_Date: Date; Tuition, Amount_Paid: Quantity;
    Grade_Point: Float) RETURN Students;
  FUNCTION Retrieve_ID(Student: Students) RETURN Integer;
  -- Include one retrieve function for each field
PRIVATE
  TYPE Students IS
    RECORD
      Name: String(1..15);
      ID: Integer;
      Birth_Date: Date;
      Tuition: Quantity;
      Amount_Paid: Quantity;
      Grade_Point: Float;
    END RECORD;
END Student_Package;

2. Write a package, both specification and body for Student_Package.IO that contains a Get and Put procedure.

3. Modify the Tables package in the textbook, program 3.11 (specification) and program 3.14 (body) so that it contains student information, not employee information. The student ID should be the key field. Complete any unfinished parts of the package body.

4. Make any necessary modifications to program 3.16 so that it can be used as the main procedure to test the entire program

5. Incorporate all necessary packages, such as Screen, Dates, Dates.IO, Currency and Currency.IO.