Website Summary Files Commits Branches @commit @diff @stats
path: root / Sem. 09 / task1 (not finished)
diff options
context:
space:
mode:
Commit8cf1283a4ffb9fe1901c29c087fa376de82726af (patch)
Author
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Committer
 angeld55 <angel_dimitriev@abv.bg>
2022-02-19 23:30:52 +0200
Filesabdfe6bf526100dcce87a88563100e02adf7605e /Sem. 09/task1 (not finished)
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.tar.gz
Object-oriented_programming_FMI-8cf1283a4ffb9fe1901c29c087fa376de82726af.zip
Parentd73a7ec225516657dec74472a0491330e9999217 (diff)
clean up
diff --git a/Sem. 09/task1 (not finished)/Grade.cpp b/Sem. 09/task1 (not finished)/Grade.cpp
deleted file mode 100644
index 4302166..0000000
--- a/Sem. 09/task1 (not finished)/Grade.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-#include "Grade.h"
-
-
-Grade::Grade() : taskName(nullptr)
-{
- setTaskName("Unknown");
- setGrade(2);
-}
-
-Grade::Grade(const char* taskName, size_t gradeValue) : taskName(nullptr)
-{
- setTaskName(taskName);
- setGrade(gradeValue);
-}
-
-void Grade::free()
-{
- delete[] taskName;
-}
-void Grade::copyFrom(const Grade& other)
-{
- gradeValue = other.gradeValue;
-
- taskName = new char[strlen(other.taskName) + 1];
- strcpy(taskName, other.taskName);
-}
-
-Grade::Grade(const Grade& other)
-{
- copyFrom(other);
-}
-
-Grade& Grade::operator=(const Grade& other)
-{
- if (this != &other)
- {
- free();
- copyFrom(other);
- }
- return *this;
-}
-Grade::~Grade()
-{
- free();
-}
-
-const char* Grade::getTaskName() const
-{
- return taskName;
-}
-size_t Grade::getGrade() const
-{
- return gradeValue;
-}
-
-void Grade::setGrade(size_t grade)
-{
- if (grade < 2 || grade > 6)
- throw std::exception("error!");
-
- gradeValue = grade;
-}
-
-void Grade::setTaskName(const char* name)
-{
- delete[] taskName;
- taskName = new char[strlen(name) + 1];
- strcpy(taskName, name);
-} \ No newline at end of file
diff --git a/Sem. 09/task1 (not finished)/Grade.h b/Sem. 09/task1 (not finished)/Grade.h
deleted file mode 100644
index d0cb2e7..0000000
--- a/Sem. 09/task1 (not finished)/Grade.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#pragma once
-
-#include <iostream>
-
-class Grade
-{
- size_t gradeValue;
- char* taskName;
-
- void free();
- void copyFrom(const Grade& other);
-public:
- Grade();
-
- Grade(const char* taskName, size_t gradeValue);
-
- Grade(const Grade& other);
- Grade& operator=(const Grade& other);
- ~Grade();
-
- const char* getTaskName() const;
- size_t getGrade() const;
-
- void setTaskName(const char* name);
- void setGrade(size_t grade);
-}; \ No newline at end of file
diff --git a/Sem. 09/task1 (not finished)/Student.cpp b/Sem. 09/task1 (not finished)/Student.cpp
deleted file mode 100644
index 99d26dc..0000000
--- a/Sem. 09/task1 (not finished)/Student.cpp
+++ /dev/null
@@ -1,45 +0,0 @@
-#include "Student.h"
-
-Student::Student(const char* name, size_t fn)
-{
- setName(name);
- setFn(fn);
-}
-
-void Student::setFn(size_t fn)
-{
- if (fn < 80000 || fn > 83000)
- throw std::exception("Invalid fn");
-
- this->fn = fn;
-}
-void Student::setName(const char* name)
-{
- if (strlen(name) > MAX_NAME_LENGTH)
- throw std::exception("Name is too long!");
-
- strcpy(this->name, name);
-}
-
-size_t Student::getFN() const
-{
- return fn;
-}
-const char* Student::getName() const
-{
- return name;
-}
-
-void Student::addGrade(const char* taskName, size_t grade)
-{
- if (gradesCount == MAX_GRADES_COUNT)
- throw std::exception("Error! Too many grades!");
-
- Grade currentGrade(taskName, grade);
- grades[gradesCount++] = currentGrade;
-}
-
-void Student::print() const
-{
- std::cout << name << " " << fn << std::endl;
-} \ No newline at end of file
diff --git a/Sem. 09/task1 (not finished)/Student.h b/Sem. 09/task1 (not finished)/Student.h
deleted file mode 100644
index 5c09792..0000000
--- a/Sem. 09/task1 (not finished)/Student.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#include "Grade.h"
-
-const size_t MAX_NAME_LENGTH = 30;
-const size_t MAX_GRADES_COUNT = 20;
-class Student
-{
-public:
-
- Student(const char* name, size_t fn);
-
- void setFn(size_t fn);
- void setName(const char* name);
-
- size_t getFN() const;
- const char* getName() const;
-
- void addGrade(const char* taskName, size_t grade);
-
-
- void print() const;
-private:
- char name[MAX_NAME_LENGTH + 1];
- size_t fn;
-
- Grade grades[MAX_GRADES_COUNT];
- size_t gradesCount;
-
-
-}; \ No newline at end of file
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
diff --git a/Sem. 09/task1 (not finished)/UniCourse.h b/Sem. 09/task1 (not finished)/UniCourse.h
deleted file mode 100644
index fde1518..0000000
--- a/Sem. 09/task1 (not finished)/UniCourse.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#include "Student.h"
-
-class UniCourse
-{
- char* lecturerName;
- char* assistantsNames[3];
-
- Student** students;
- size_t capacity;
- size_t size;
-
- void copyFrom(const UniCourse& other);
- void free();
-
- size_t findStudentByFn(size_t fn);
-
- void resize();
-
-public:
- UniCourse(const char* lecturerName);
- UniCourse(const char* lecturerName, const char* assistant1Name);
- UniCourse(const char* lecturerName, const char* assistant1Name, const char* assistant2Name);
- UniCourse(const char* lecturerName, const char* assistant1Name, const char* assistant2Name, const char* assistant3Name);
-
-
- UniCourse(const UniCourse& other);
- UniCourse& operator=(const UniCourse& other);
- ~UniCourse();
-
- void addStudent(const char* name, size_t fn);
- void removeStudent(size_t fn);
-
- void print();
-
-}; \ No newline at end of file
diff --git a/Sem. 09/task1 (not finished)/main.cpp b/Sem. 09/task1 (not finished)/main.cpp
deleted file mode 100644
index 6b727fa..0000000
--- a/Sem. 09/task1 (not finished)/main.cpp
+++ /dev/null
@@ -1,15 +0,0 @@
-#include "UniCourse.h"
-
-int main()
-{
- UniCourse u("ddz");
-
- u.addStudent("ivan", 80123);
- u.addStudent("angel", 80125);
- u.addStudent("petur", 80126);
- u.addStudent("ivan2", 81000);
- //u.print();
-
- u.removeStudent(80125);
- u.print();
-} \ No newline at end of file