This is a test program that tests the Student and ITECH7603Class classes.
In this assignment you are provided with three input text files associated with this program:
- firstNamesBo ys. txt - contains first names for boys
- firstNamesGir ls. txt - contains first names for girls
- lastNames.txt - contains last names
Each of these input files contains one name per line. Hence "firstNamesBoys.txt" will contain one boy's name per line, and "lastNames.txt" contains one surname per line. These input files will be used to create a random set of Student objects to test your application.
The test program should conform to the following specifications:
(1) There are three three global variables declared in the program:
vector* names = new vector();
vector* surnames = new vector();
set* students = new set();
(2) The test program should define a function with the following prototype:
void readInputFiles();
This function does the following:
- Opens and reads firstNamesBoys.txt. Each name should be read into a string and added to the vector* names.
- Opens and reads firstNamesGirls.txt. Each name should be read into a string and added to the vector* names.
- Opens and reads lastNames.txt. Each name should be read into a string and added to the vector* surnames.
(3) The test program should define a function with the following prototype:
void createRandomStudentSet(int n);
This function creates Student objects choosing values for their fields randomly:
- Value for first name is chosen randomly from the vector (*names).
- Value for surname is chosen randomly from the vector (*surnames).
- Values for the rest of fields are chosen randomly from the corresponding ranges, e.g. value for the examMark is a random value from 0 to 50.
If thus created Student object has passed the course it is added to the (*students) set (an associative container from STL). You should continue adding random Student objects to the set until the total number of Student objects in the set is n.
(4) The main function performs the following tasks:
• Invokes consecutively functions readInputFiles(), createRandomStudentSet(12).
• Then creates a ITECH7603Class object (or a pointer to the object) using the constructor ITECH7603Class(students), and saves it (to the file "ITECH7603Students.bin").
• Creates another ITECH7603Class object using the constructor with a "dummy" parameter and prints informa t ion of the Student objects from the (*group) map field of the class.