Starting from:
$35

$29

Programming Project #3 Solution

For this project, you are to implement a simple class registration list, with associated wait list. Your program will use two arrays, one to store ID numbers of students who are registered in the class, and one to store ID numbers of students who are waitlisted. Both of these arrays will be partially filled arrays (see text pages 196).




The Application




The application is to maintain two arrays, one for registered and one for waitlisted students. Each array stores the int id number of the students. Your arrays should be declared within the main function (not globally outside all functions), and passed as arguments to any function that needs them. As indicated in the text, in addition to having a variable to store the capacity of the array, you will also need a variable to keep track of how many values are currently stored in each array.




The application should allow the user to do one of 5 things, until he/she wishes to exit:

* register a student

* unregister a student

* print list of registered students

* print wait list




Make sure of that if a student wishes to be registered, but the class is full, the student is added to the waitlist, unless that list is also full. You can use both class lists and waitlists of size 10 for this assignment, use a constant variable for the size.




When a student is unregistered, if the waitlist is not empty, the next student on the waitlist should be moved from the waitlist to the class list.




The main program is to call the function ‘getId’ (see below) each time an id is needed from the user. You may want to get your program running correctly with usual int input prior to introducing this function (or test and debug the function getId in a separate main program).

 

 

Your program is to accomplish each of the following by calling upon the following functions (which you must provide):




Precondition: array is not full (ie however, array may not yet any contain values)

Postcondition: array contains one more value, it follows all preexisting values

void addToRear(int arr[], int& howmany, int value)

This function adds one new element, value, to the array. The parameter ‘howmany’ is the

number of values currently stored in the array.




Precondition: array is not empty

Postcondition: array contains one less value,

int removeFromFront(int arr[], int & howmany)

This function removes a value from the front of the array, and shuffles remaining elements up .

Value which was removed is returned by this function. The parameter ‘howmany’ is updated to

reflect the number of values currently stored in the array.




Precondition: ‘value’ exists in the array

Postcondition: array contains one less value,

int remove(int arr[], int& howmany, int value)

This function removes ‘ value’ from the array, and readjusts other elements

Value which was removed is returned by this function.




Precondition: none

Postcondition: array is not changed

void printArray(int arr[], int howmany)

This function outputs the elements which are stored in the array.




Precondition: none

Postcondition: arr is not changed

bool isFull( int capacity, int howmany)

This function determines if the array is full.




Precondition: none

Postcondition: arr is not changed

bool isEmpty( int howmany)

This function determines if the array is empty.




Precondition: none

Postcondition: value contains valid id number

void getId( int& value)

This function inputs in a Cstring, removes all non digit characters, and converts the remaining

chars into an int value. (Recall, a Cstring is a null terminated char array).




eg input 11a1

value 111




____________________________________________________________




Submit in your program, in a file named ‘register.cpp’ , as an email attachment. Tradtional class students please hand in a hard copy.

More products