Page 1 of 1

In this project, you will maintain the information of different courses using AVL trees. Your program will read the cour

Posted: Thu May 26, 2022 9:57 am
by answerhappygod
In this project, you will maintain the information of different courses
using AVL trees. Your program will read the courses and their relevant
information from a file named courses.txt. As well, the user should be
able also to enter new courses into the program with their relevant
information. Please use the following format for inputs
Course:CreditHours#CourseCode#Department/topic1, topic2, …,
topicN
where N is the number of topics covered in the course and it is ≥ 1.
Example of input courses:
Course:CreditHours#CourseCode/topic1, topic2, …,
topicN
Data structures:4#COMP2421#Computer
Science/recursion, time analysis, linked lists,
stacks, queues, trees, bst, avl, splay, b_trees,
hash, heaps, sorting, graphs
Introduction to programming:3#COMP133#Computer
Science/algorithms, introduction to c, functions,
selection, loops, pointers, arrays, structs
Introduction to French:3#FREN111#French
Language/letters, numbers, greetings, grammars,statements
To keep track of the courses, you should store them in an AVL tree
data structure. The key that will be used by the AVL tree is the course
code.
The following operations should exist in your application:
1. Read the file courses.txt file and create the tree.
2. Insert a new course from the user with all its associated data.
3. Find a course and support updating of its information.
4. List courses in lexicographic order with their associated
information (credit hours, IDs, and topics).
5. List all topics associated with a given course.
6. List all courses in lexicographic order that belong to the same
department.
7. Delete a course.
8. Delete all courses that start with a specific letter.
9. Delete all courses belong to a given department.
10. Save all words in file offered_courses.txt
Grading policy:
1. Your application should have all functionalities working
properly. Twenty marks will be graded for the functionality of
the project;
2. The following notes will make up the remaining 10 marks of
the grade:
a. There has to be adequate documentation and comments
in the code (i.e., functions, loops, etc.);
b. Your code should follow the code convention (i.e., spaces,
indentations, etc.); and
c. Your application should contain a menu to allow the user to select which option (s) he would like to run.