Final Project: Student Course Registration Prerequisite Checking System Description: This project requires the use of a 2-child tree data structure to store different courses and their prerequisites. Based on this list, a student may or may not take a specific course. * A 2-child tree is a tree that each of its nodes have a maximum of two children meaning that each node can have ( 0, 1, or 2 children). Basic Idea: This program will input the university course list with their prerequisites ONCE at the start of program by reading this information from a file (this info is given in the below table). Then, whenever a student is willing to register a number
Final Project: Student Course Registration Prerequisite Checking System Description: This project requires the use of a 2-child tree data structure to store different courses and their prerequisites. Based on this list, a student may or may not take a specific course. * A 2-child tree is a tree that each of its nodes have a maximum of two children meaning that each node can have ( 0, 1, or 2 children). Basic Idea: This program will input the university course list with their prerequisites ONCE at the start of program by reading this information from a file (this info is given in the below table). Then, whenever a student is willing to register a number
Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
Related questions
Question
I need the code with c++
![Final Project: Student Course Registration
Prerequisite Checking System
Description: This project requires the use of a 2-child tree data structure to store
different courses and their prerequisites. Based on this list, a student may or may not
take a specific course.
* A 2-child tree is a tree that each of its nodes have a maximum of two children
meaning that each node can have (0, 1, or 2 children).
Basic Idea: This program will input the university course list with their prerequisites
ONCE at the start of program by reading this information from a file (this info is
given in the below table). Then, whenever a student is willing to register a number
of courses, he/she will enter the courses they studied and the ones they want to
register in. The system will allow or disallow the student from registering the course
based on stored course prerequisites. The project will be implemented in C++. This
project is console based. Graphical representation of each student's course structure
is a BONUS.
Course list and prerequisites are shown in the table below. Each course is defined by:
(1) Course Code which is 3-digit number (e.g. 102, 402, ..) and (2) Course Name which
is a string with max length of 40 characters.
Course Code and Name
Prerequisites
101Introduction to Programming
207Fundamental of Data Structures & Algorithms
311Computer Architecture
None
101Introduction to Programming
101Introduction to Programming
217Advanced Computer Programming & Concepts 207Fundamental of Data Structures & Algorithms
313Software Engineering
415Compiler Design
304Analysis and Design of Algorithms
419Theory of Computing
3150perating Systems
404Database Systems
311Computer Architecture
311Computer Architecture
217Advanced Computer Programming & Concepts
217Advanced Computer Programming & Concepts
313Software Engineering
313Software Engineering](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F2a072cdb-b35d-482f-b599-8b88b826bb35%2F45dbf8c0-b561-4dcc-b242-4b05dddc3fa5%2Fxj572c8_processed.png&w=3840&q=75)
Transcribed Image Text:Final Project: Student Course Registration
Prerequisite Checking System
Description: This project requires the use of a 2-child tree data structure to store
different courses and their prerequisites. Based on this list, a student may or may not
take a specific course.
* A 2-child tree is a tree that each of its nodes have a maximum of two children
meaning that each node can have (0, 1, or 2 children).
Basic Idea: This program will input the university course list with their prerequisites
ONCE at the start of program by reading this information from a file (this info is
given in the below table). Then, whenever a student is willing to register a number
of courses, he/she will enter the courses they studied and the ones they want to
register in. The system will allow or disallow the student from registering the course
based on stored course prerequisites. The project will be implemented in C++. This
project is console based. Graphical representation of each student's course structure
is a BONUS.
Course list and prerequisites are shown in the table below. Each course is defined by:
(1) Course Code which is 3-digit number (e.g. 102, 402, ..) and (2) Course Name which
is a string with max length of 40 characters.
Course Code and Name
Prerequisites
101Introduction to Programming
207Fundamental of Data Structures & Algorithms
311Computer Architecture
None
101Introduction to Programming
101Introduction to Programming
217Advanced Computer Programming & Concepts 207Fundamental of Data Structures & Algorithms
313Software Engineering
415Compiler Design
304Analysis and Design of Algorithms
419Theory of Computing
3150perating Systems
404Database Systems
311Computer Architecture
311Computer Architecture
217Advanced Computer Programming & Concepts
217Advanced Computer Programming & Concepts
313Software Engineering
313Software Engineering
![NOTE:
Sample Run:
Enter the courses which you already studied:
101Introduction to Programming
207Fundamental of Data Structures & Algorithms
311Computer Architecture
Enter the courses that you want to study:
217Advanced Computer Programming & Concepts
404Database Systems
313Software Engineering
Processing...
The following courses are OK to take:
217Advanced Computer Programming & Concepts
313Software Engineering
The following courses are CANNOT be taken:
404Database Systems
Implementation Idea:
1. First you will build your main tree from the table given above. This can be done
by storing the information in a (.txt, .csv, ..) file and building your tree from it. If
you chose to use a .csv file you can store the info in the table in this form :
CourseCodeAndName, prerequisiteCourseCodeAndName
For example:
101Introduction to Programming, None
207Fundamental of Data Structures & Algorithms, 101lntroduction to Programming
311Computer Architecture, 101Introduction to Programming
217Advanced Computer Programming & Concepts, 207Fundamental of Data Structures & Algorithms
313Software Engineering, 311Computer Architecture
415Compiler Design, 311Computer Architecture
2. Second you will need to extract the course code from each string to build your
tree. Each tree node will have the course code only as its data. When a course
node has two children you will always assume that the child entered is the left
child and the child entered second is the right child. For example, the sample in
the table above will be represented in the form of the following tree:
2/3](/v2/_next/image?url=https%3A%2F%2Fcontent.bartleby.com%2Fqna-images%2Fquestion%2F2a072cdb-b35d-482f-b599-8b88b826bb35%2F45dbf8c0-b561-4dcc-b242-4b05dddc3fa5%2Fxug1cs_processed.png&w=3840&q=75)
Transcribed Image Text:NOTE:
Sample Run:
Enter the courses which you already studied:
101Introduction to Programming
207Fundamental of Data Structures & Algorithms
311Computer Architecture
Enter the courses that you want to study:
217Advanced Computer Programming & Concepts
404Database Systems
313Software Engineering
Processing...
The following courses are OK to take:
217Advanced Computer Programming & Concepts
313Software Engineering
The following courses are CANNOT be taken:
404Database Systems
Implementation Idea:
1. First you will build your main tree from the table given above. This can be done
by storing the information in a (.txt, .csv, ..) file and building your tree from it. If
you chose to use a .csv file you can store the info in the table in this form :
CourseCodeAndName, prerequisiteCourseCodeAndName
For example:
101Introduction to Programming, None
207Fundamental of Data Structures & Algorithms, 101lntroduction to Programming
311Computer Architecture, 101Introduction to Programming
217Advanced Computer Programming & Concepts, 207Fundamental of Data Structures & Algorithms
313Software Engineering, 311Computer Architecture
415Compiler Design, 311Computer Architecture
2. Second you will need to extract the course code from each string to build your
tree. Each tree node will have the course code only as its data. When a course
node has two children you will always assume that the child entered is the left
child and the child entered second is the right child. For example, the sample in
the table above will be represented in the form of the following tree:
2/3
Expert Solution
![](/static/compass_v2/shared-icons/check-mark.png)
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
This is a popular solution!
Trending now
This is a popular solution!
Step by step
Solved in 2 steps
![Blurred answer](/static/compass_v2/solution-images/blurred-answer.jpg)
Knowledge Booster
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.Recommended textbooks for you
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![Database System Concepts](https://www.bartleby.com/isbn_cover_images/9780078022159/9780078022159_smallCoverImage.jpg)
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
![Starting Out with Python (4th Edition)](https://www.bartleby.com/isbn_cover_images/9780134444321/9780134444321_smallCoverImage.gif)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
![Digital Fundamentals (11th Edition)](https://www.bartleby.com/isbn_cover_images/9780132737968/9780132737968_smallCoverImage.gif)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
![C How to Program (8th Edition)](https://www.bartleby.com/isbn_cover_images/9780133976892/9780133976892_smallCoverImage.gif)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
![Database Systems: Design, Implementation, & Manag…](https://www.bartleby.com/isbn_cover_images/9781337627900/9781337627900_smallCoverImage.gif)
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
![Programmable Logic Controllers](https://www.bartleby.com/isbn_cover_images/9780073373843/9780073373843_smallCoverImage.gif)
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education