COSC220 Fall 2015 – Project # 2Due: 10/30/2015

PROJECT SPECIFICATIONS:

You will be developing a mini-database management system that can be used to store student information. Your database management system should allow users toinsert, delete, modify and retrieve student records according to a given criteria. All the data in the database should be stored in an external file. When a user starts the database management program, the data in the file should be loaded into a linked list. When the user exits the program, the data in the linkedlist(with all the current updates) will be written into the external file again.

  1. Student information should include first name, last name, student ID, gender, birth date, status (freshman, sophomore, junior, senior), GPA.
  2. For INSERT operation, users need to provide all the information for a student. Student information should be validated before they are entered into database. Student IDs should be exactly eight digits. Student names must be string. Genders must be a single character. Birth dates must be of format mm/dd/yyyy. Status must be represented as “freshman”, “sophomore”, “junior”, and“senior”. GPA is a floating point number. Please note that every student should have their unique student ID. If a new student has the same ID as the current student, the new student information will not be entered into the database and a warning message should be given. The student information to be inserted properly so that the order of the list is maintained.
  3. For MODIFY operation, users need to provide the student ID first. Then the current information for that student IDwill be retrieved and displayed.The users can modify the first and last name, status and GPA only. New information entered must be validated before the student record is updated. Your program should prompt the users for confirmation for the final updated.
  4. For DELETE operation, users need to provide the student ID. Before the student record is deleted, your program should prompt the users for confirmation.
  5. ForRETRIEVE operation, the database should allow users to retrieveinformation by the following criteria: 1) last name 2) student ID 3) gender 4) birth date5) status and by a combination of any of them.

OTHER REQUIREMENTS

1.Make sure to start work on your project early and make steady progress.

2. Make sure to test your program thoroughly before you hand in your program.

3. Make sure that you will use class to keep information of a student and STL <list> to keep all student information in the database.

4. Make sure to use functions to make your program more maintainable.

5. Make sure that you give proper names to your variables, program files.

6. Make sure that your program is nicely indented and has meaningful header and inline comments.

WHAT TO TURNIN

Email the instructor your source code, testing plan and all the output generated from your testing.