Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Functions.h"
- bool LoginMenu()
- {
- system("cls");
- cout << setw(50) << "*****Library Management System*****\n\n";
- cout << setw(50) << "*****Login Screen*****\n\n";
- cout << "1) Admin Login\n"
- << "2) System User Login\n"
- << "3) Librarian Login\n"
- << "4) Student Login\n"
- << "5) Quit the Program\n\n"
- << "Enter your choice: ";
- int choice;
- cin >> choice;
- cin.ignore();
- try
- {
- if (choice < 1 || choice > 5)
- throw 0;
- system("cls");
- switch (choice)
- {
- case 1:
- AdminLogin();
- break;
- case 2:
- break;
- case 3:
- break;
- case 4:
- break;
- case 5:
- return false;
- }
- }
- catch (int)
- {
- cout << "Invalid Choice Entered\n"
- << "Press Enter to enter again...";
- (void)getchar();
- system("cls");
- LoginMenu();
- }
- return true;
- }
- void AdminLogin()
- {
- string username, password;
- cout << setw(50) << "ADMINISTRATION LOGIN\n\n\n";
- cout << "Enter Username: ";
- getline(cin, username);
- cout << "Enter Password: ";
- getline(cin, password);
- if ((admin->getusername() == username) && (admin->getpassword() == password))
- {
- AdminMenu();
- }
- }
- void AdminMenu()
- {
- system("cls");
- cout << setw(50) << "****ADMINISTRATION ACCOUNT****";
- cout << endl << endl << endl;
- cout << "1) Manage Students\n"
- << "2) Log Out\n\n";
- int choice;
- cin >> choice;
- cin.ignore();
- switch (choice)
- {
- case 1:
- StudentMenu();
- break;
- case 2:
- return;
- default:
- cout << "Invalid Choice Entered..\n"
- << "Press Enter to try again...\n";
- (void)getchar();
- break;
- }
- AdminMenu();
- }
- void StudentMenu()
- {
- system("cls");
- cout << setw(50) << "****STUDENTS DATABASE MANAGEMENT****";
- cout << endl << endl << endl;
- cout << "1) Add a new Student\n"
- << "2) Display All Students Record\n"
- << "3) Delete Student's Record\n"
- << "4) Edit Student's Record\n"
- << "5) Update Student's Record\n"
- << "6) Search for Particular Student Record\n"
- << "7) Return to Previous Menu\n\n"
- << "Your choice: ";
- int choice;
- cin >> choice;
- cin.ignore();
- switch (choice)
- {
- case 1:
- student = resizeuser(student, studentsize);
- student[studentsize - 1] = new Student;
- student[studentsize - 1]->addStudent();
- break;
- case 2:
- LoadStudent();
- for (int i = 0; i < studentsize; i++)
- student[i]->DisplayRecord();
- cout << "Press Enter to Continue...";
- (void)getchar();
- break;
- case 3:
- DeleteStudent();
- break;
- case 4:
- EditStudent();
- break;
- case 5:
- UpdateStudent();
- break;
- case 6:
- StudentSearch();
- break;
- case 7:
- return;
- }
- StudentMenu();
- }
- Person** resizeuser(Person **arr, int& size)
- {
- Person** temp = new Person * [size + 1];
- for (int i = 0; i < size; i++)
- temp[i] = arr[i];
- delete[]arr;
- size++;
- return temp;
- }
- void LoadStudent()
- {
- ifstream LoadStuff;
- LoadStuff.open("Student Data.FILE", ios::in);
- studentsize = 0;
- string temp;
- while (getline(LoadStuff, temp))
- {
- student = resizeuser(student, studentsize);
- student[studentsize - 1] = new Student;
- student[studentsize - 1]->Set_Student_Id(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_College_Id(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_Name(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_Mobile(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_Email(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_Username(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_Password(temp);
- getline(LoadStuff, temp);
- student[studentsize - 1]->Set_Student_Address(temp);
- }
- LoadStuff.close();
- }
- void DeleteStudent()
- {
- cout << "Enter Student ID to be deleted: ";
- string id;
- bool fh = false;
- getline(cin, id);
- for (int i = 0; i < studentsize; i++)
- {
- if (student[i]->DeleteStudent(id) != "None")
- {
- fh = true;
- break;
- }
- }
- if (fh)
- {
- remove("Student Data.FILE");
- for (int i = 0; i < studentsize; i++)
- {
- if (student[i]->getstudentid() != id)
- student[i]->saveStudent();
- }
- cout << "Entered Student's data has been removed\n";
- }
- else
- {
- cout << "No Student matched with entered ID.\n";
- cout << "Press Enter to Continue...";
- (void)getchar();
- }
- }
- void EditStudent()
- {
- int i = 0;
- cout << "Enter Student ID to be edited: ";
- string id;
- bool fh = false;
- getline(cin, id);
- for (i = 0; i < studentsize; i++)
- {
- if (student[i]->DeleteStudent(id) != "None")
- {
- fh = true;
- break;
- }
- }
- if (fh)
- {
- student[i]->DisplayRecord();
- student[i]->editStudent();
- cout << endl;
- }
- else
- {
- cout << "Student ID not found.\n";
- cout << "Press Enter to Continue...";
- (void)getchar();
- }
- }
- void UpdateStudent()
- {
- int i = 0;
- cout << "Enter Student ID to be Updated: ";
- string id;
- bool fh = false;
- getline(cin, id);
- for (i = 0; i < studentsize; i++)
- {
- if (student[i]->DeleteStudent(id) != "None")
- {
- fh = true;
- break;
- }
- }
- if (fh)
- {
- cout << "Current Record of Student: ";
- student[i]->DisplayRecord();
- cout << endl << endl;
- student[i]->updateStudent();
- cout << endl;
- }
- else
- {
- cout << "Student ID not found.\n";
- cout << "Press Enter to Continue...";
- (void)getchar();
- }
- }
- void StudentSearch()
- {
- int choice;
- string temp;
- system("cls");
- try {
- cout << "Search Student by, \n\n"
- << "1) Student ID\n"
- << "2) Student Name\n"
- << "3) Student College ID\n"
- << "4) Student Username\n"
- << "\nEnter a Number: ";
- cin >> choice;
- cin.ignore();
- if (choice < 1 || choice > 4)
- throw 0;
- cout << "\nEnter Required Field: ";
- getline(cin, temp);
- switch (choice)
- {
- case 1:
- for (int i = 0; i < studentsize; i++)
- {
- if (temp == student[i]->getstudentid())
- student[i]->DisplayRecord();
- }
- break;
- case 2:
- for (int i = 0; i < studentsize; i++)
- {
- if (temp == student[i]->getstudentname())
- student[i]->DisplayRecord();
- }
- break;
- case 3:
- for (int i = 0; i < studentsize; i++)
- {
- if (temp == student[i]->getstudentcollegeid())
- student[i]->DisplayRecord();
- }
- break;
- case 4:
- for (int i = 0; i < studentsize; i++)
- {
- if (temp == student[i]->getusername())
- student[i]->DisplayRecord();
- }
- break;
- }
- }
- catch (int)
- {
- cout << "Invalid Choice Entered\n";
- }
- cout << "Press Enter to continue...\n";
- (void)getchar();
- }
- void SaveStudentUpdate()
- {
- remove("Student Data.FILE");
- for (int i = 0; i < studentsize; i++)
- {
- student[i]->saveStudent();
- }
- }
Add Comment
Please, Sign In to add comment