UNIVERSITY MANG SYSTEM OOP PROJECT
UNIVERSITY MANG SYSTEM OOP PROJECT
#include<string>
#include<vector>
#include <map>
using namespace std;
class person{
protected:
int id;
string name;
public:
person(const string& n , int i): name(n),id(i) {}
virtual void display() const =0;
int getid() const {
return id;
}
string getname() const {
return name;
}
};
class student: public person {
private:
vector<string>courses;
double fees;
public:
student(const string name ,int id): person(name,id),fees(0.0){}
void enrolCourse(const string& course) {
courses.push_back(course);
}
void setfees(double fee){
fees=fee;
}
double getfees() const {
return fees;
}
void display() const override {
cout<<" STUDENT NAME :"<<name<< "STUDENT ID"<<id<< "\nCOURSES ENROLLED : \
n";
for(const auto& course : courses) {
cout<<"- "<<course<<endl;
}
cout<<"FEES : $"<<fees<<endl;
}
};
class teacher:public person {
private:
vector<string>courses;
public:
teacher(const string& name, int id) :person(name, id) {}
public:
void addStudent(const student& student)
{
students.push_back(student);
}
int main(){
displayWelcomeNote();
University uni;
int choice;
do {
displayMenu();
cin >> choice;
switch (choice) {
case 1:
addStudent(uni);
break;
case 2:
addTeacher(uni);
break;
case 3:
enrollStudentInCourse(uni);
break;
case 4:
assignCourseToTeacher(uni);
break;
case 5:
addFeeForStudent(uni);
break;
case 6:
addGradeForStudent(uni);
break;
case 7:
uni.displayAllStudents();
break;
case 8:
uni.displayAllTeachers();
break;
case 9:
uni.displayAllFees();
break;
case 10:
int studentId;
cout << "Enter student ID: ";
cin >> studentId;
uni.displayTranscript(studentId);
break;
case 11:
cout << "Goodbye!" << endl;
break;
default:
cout << "Invalid choice. Please try again." << endl;
}
} while (choice != 11);
return 0;
}