C++ project

C++ project

Format Other

Description
In this project you are asked to implement a simple student registration system using C++.

The registration system has many courses, each course has a unique CRN and a title. The information about all courses is stored in a list of courses.
Students have unique IDs and names (first name and last name). The information about all students is stored in a list of students.
A student can register in one or more courses.
The C++ program keeps track of student registration by storing the course’s CRN, the student’s ID and whether or not the student passed the course. The C++ program is also able to generate a list of students and the courses they are registered in. It can also generate a list of previously registered and passed courses.

The registration system is robust as it checks before adding a student, a course or a registration record. For instance:

1. Before the student is added, the system will make sure that the same person is not already part of the student list.
2. Before a course is added, the system will make sure that the same course is not already in the list of courses.
3. Before a student registers in a course, the system will make sure that the student’s ID and the course’s CRN are present in the student list and course list respectively.
4. A student cannot register in a course twice.
5. Before passing a student in a course, the system will make sure that the student’s ID is valid and the course’s CRN is valid as well. It will also make sure that the student is registered in this particular course.

Persistent storage requirements:

Your software systems shall read all data regarding students, courses and registration from text files.
Once your system finishes execution it shall store the information back to the text files.

Courses.txt
100 Introduction to Computer Science
200 Intermediate International Studies
300 Advanced Arabic Studies
400 Super advanced Economics

Registration.txt (the last flag indicates is the student passed the course):
1 100 true
1 100 false
2 100 false
2 200 false
2 400 true
7 200 true
7 300 false

Deliverables:
1. Separate .h files: student.t, course.h, registration.h, studentList.h, courseList.h and registrationList.h
2. Implementation of the .h flies with a suitable application program.
3. Your .txt files
4. Your .exe project
5. Snapshots of the results

Notes:

1. The application program should have a menu-driven interface that has the following suggested options:
a. Add a new student.
b. Add a new course.
c. List all students.
d. List all courses.
e. Search for a given student ID.
f. Search for a given course by CRN.
g. Register a student in a course.
h. Pass a student in a course he/she is registered in.
i. List all registration records (passed and unpassed courses).
j. List all registration records with unpassed courses.
k. Quit
2. Make sure that you comment your class functions to show their purpose and use.
3. Make sure that you use proper names for your classes, member functions and member variables.

Teamwork:
Please work in groups of 2 students.

Example application:
I have provided a working example solution (.exe file). You can run it using the provided input text files. You can run the .exe file from the command prompt provided that all .txt files are in the same directory.
This is an example to help you, so if you encounter errors whilst running it please let me know.

Use the following steps to run the example project:
1. Put the .exe and .txt files in one directory. Add ‘cmd.exe’ to the same directory as well

2. Start the cmd and make sure it is in the same directory as the example project: