From 8cf1283a4ffb9fe1901c29c087fa376de82726af Mon Sep 17 00:00:00 2001 From: angeld55 Date: Sat, 19 Feb 2022 23:30:52 +0200 Subject: clean up --- Sem. 09/task1 (not finished)/UniCourse.cpp | 135 ----------------------------- 1 file changed, 135 deletions(-) delete mode 100644 Sem. 09/task1 (not finished)/UniCourse.cpp (limited to 'Sem. 09/task1 (not finished)/UniCourse.cpp') diff --git a/Sem. 09/task1 (not finished)/UniCourse.cpp b/Sem. 09/task1 (not finished)/UniCourse.cpp deleted file mode 100644 index c854b82..0000000 --- a/Sem. 09/task1 (not finished)/UniCourse.cpp +++ /dev/null @@ -1,135 +0,0 @@ -#include "UniCourse.h" - -UniCourse::UniCourse(const char* lecturerName) : UniCourse(lecturerName, "", "", "") -{} -UniCourse::UniCourse(const char* lecturerName, const char* assistant1Name) : UniCourse(lecturerName, assistant1Name, "", "") -{} -UniCourse::UniCourse(const char* lecturerName, const char* assistant1Name, const char* assistant2Name) : UniCourse(lecturerName, assistant1Name, assistant2Name, "") -{} - -UniCourse::UniCourse(const char* lecturerName, const char* assistant1Name, const char* assistant2Name, const char* assistant3Name) -{ - this->lecturerName = new char[strlen(lecturerName) + 1]; - strcpy(this->lecturerName, lecturerName); - - assistantsNames[0] = new char[strlen(assistant1Name) + 1]; - strcpy(assistantsNames[0], assistant1Name); - - assistantsNames[1] = new char[strlen(assistant2Name) + 1]; - strcpy(assistantsNames[1], assistant2Name); - - assistantsNames[2] = new char[strlen(assistant3Name) + 1]; - strcpy(assistantsNames[2], assistant3Name); - - capacity = 8; - size = 0; - - students = new Student*[capacity]; -} - - -void UniCourse::copyFrom(const UniCourse& other) -{ - lecturerName = new char[strlen(other.lecturerName) + 1]; - strcpy(lecturerName, other.lecturerName); - - for (int i = 0; i < 3; i++) - { - if (other.assistantsNames[i] != nullptr) - { - assistantsNames[i] = new char[strlen(other.assistantsNames[i]) + 1]; - strcpy(assistantsNames[i], other.assistantsNames[i]); - } - } - - - students = new Student*[other.capacity]; - - for (int i = 0; i < other.size; i++) - students[i] = new Student(*other.students[i]); - - capacity = other.capacity; - size = other.size; - -} -void UniCourse::free() -{ - delete[] lecturerName; - - for (int i = 0; i < 3; i++) - delete[] assistantsNames[i]; - - for (int i = 0; i < size; i++) - delete students[i]; - - delete[] students; -} - -UniCourse::UniCourse(const UniCourse& other) -{ - copyFrom(other); -} - -UniCourse& UniCourse::operator=(const UniCourse& other) -{ - if (this != &other) - { - free(); - copyFrom(other); - } - return *this; -} -UniCourse::~UniCourse() -{ - free(); -} -void UniCourse::addStudent(const char* name, size_t fn) -{ - if (size == capacity) - resize(); - - Student* current = new Student(name, fn); - students[size++] = current; -} - -void UniCourse::resize() -{ - Student** temp = new Student*[capacity *= 2]; - - for (int i = 0; i < size; i++) - temp[i] = students[i]; - - delete[] students; - - students = temp; -} - -size_t UniCourse::findStudentByFn(size_t fn) -{ - for (int i = 0; i < size; i++) - { - if (students[i]->getFN() == fn) - return i; - } - return -1; -} -void UniCourse::removeStudent(size_t fn) -{ - size_t indexOfStudent = findStudentByFn(fn); - if (fn == -1) - return; - - delete students[indexOfStudent]; - - for (int i = indexOfStudent; i < size - 1; i++) - students[i] = students[i + 1]; - - size--; - -} - -void UniCourse::print() -{ - for (int i = 0; i < size; i++) - students[i]->print(); -} \ No newline at end of file -- cgit v1.3.1-23-gd82d