OOP ConceptsIntroductionIt is required to implement a software for a college.The college has departments for example (Computer, Electricity, Mechanical,..etc).Each department has some courses for example (Math, OOP, Law,..etc) Also, there are many professors and students in the college.RequirementsIt is required from you to implement a simple system for the college. We will extend this assignment features/requirements in the next assignments in this course.Implement each entity (College, Department, Course, Professor, Student) as a class with the following attributes/methodsCollegeAttributes: departments, students, professors, coursesMethods:int numberOfDepartments() int numberOfCourses() int numberOfProfessors() int numberOfStudents()Department findDepartment(String name) // find department with nameStudent findStudent(String name) // find student by full nameProfessor findProfessor(String name) // find professor by full nameCourse findCourse (String name) // find course by its nameDepartmentAttributes: name, description, max_number_of_students, courses, studentsMethods:int numberOfCourses() int numberOfStudents()Course findCourse(String name) // find course by name boolean isFull() // return true if number of students equals max number of studentsboolean enroll(Student s) // assign student to this department. Student cant be enrolled to department if the department is fullCourseAttributes: name, description, max_number_of_students, number_of_lectures, students, professor, department.Methods:int numberOfStudents()boolean assignProfessor(Professor p) // assign professor to course. Course can have only one professor. void unassignProfessor(Professor p) // dessign professor from course. boolean isAssigned() // return true if course is assigned to a professor. String professorName() // return professor full name boolean isFull() // return true if number of students equals max number of studentsboolean enroll(Student s) // assign student to this course. Student cant be enrolled to a course if the course is full. Student cant be enrolled to a course if he isnt enrolled in its department.ProfessorAttributes: firstName, lastName, telephone, address, salary, courses.Methods:String fullName() // return firstName lastName double getRaise(double ratio) // recalculate professor salaryStudentAttributes: firstName, lastName, telephone, address, age, department, coursesMethods:String fullName() // return firstName lastNameNotes:You should implement constructors for each class.You should implement getters and setters when needed.User cant create new colleges. You will have only one college object in your main test class.You can add more attributes/methods to any class if you need.The fixed size for any array is 50 All objects names will be unique.Sample Run (inputs in green)Welcome to our university!Operations:1- Collegea) Number of Departmentsb) Number of Coursesc) Number of Professorsd) Number of Studentse) Report 2- Departmenta) Newb) Number of Coursesc) Number of Studentsd) Is Fulle) Enrollf) Report 3- Coursea) Newb) Number of Studentsc) Assignd) Is assignede) Professor Namef) Is Fullg) Enrollh) Report4- Professora) Newb) Display Salaryc) Get Raised) Report 5- Studenta) Newb) Report 6- Quit============ Enter Operation============2aDepartment Name:ComputerDepartment Description:Software ProgrammingDepartment Max Students:1============ Enter Operation============1a1============ Enter Operation============3aCourse Name:OOPCourse Description: Object oriented conceptsCourse Max Students:1Course Lectures:10Department:Computer============ Enter Operation============1b1============ Enter Operation============4aProfessor Firstname: MohamedProfessor Lastname:AmrProfessor Telephone:0123456789Professor Address:Egypt AlexandriaProfessor Salary:3000============ Enter Operation ============5aStudent Firstname: StudentStudent Lastname:OneStudent Telephone:0123456789Student Address: Egypt Alexandria Student Age:20============ Enter Operation ============2eDepartment:Computer Student:Student One============ Enter Operation
2cDepartment:Computer1============ Enter Operation ============2eDepartment:ComputerFalse============ Enter Operation ============ 3gcourse:OOPStudent:Student One============ Enter Operation ============2cDepartment:Computer1Enter Operation ============4cProfessor:Mohamed AmrRaise:0.1Salary:3300============ Enter Operation ============ 3c course:OOPprofessor:Mohamed Amr============ Enter Operation ============1e1 Professors1 Students1 Departments1 Courses============ Enter Operation 2fDepartment:ComputerDescription: Software ProgrammingMax Students: 1Students: 1Status: FullCourses: 1============ Enter Operation============3hCourse:OOPDescription: Object oriented conceptsDepartment: ComputerLectures: 10Max Students: 1Students: 1Status: FullProfessor: Mohamed Amr============ Enter Operation============4dProfessor:
Mohamed AmrSalary: 3300Courses: OOPTelephone: 0123456789Address: Egypt Alexandria============ Enter Operation============5bStudent:Student OneCourses: OOPTelephone: 0123456789Address: Egypt AlexandriaAge: 20
Reviews
There are no reviews yet.