From 0218c678e13e1cb94a352c91733cea68467dc566 Mon Sep 17 00:00:00 2001 From: Angeld55 Date: Sun, 14 Feb 2021 23:06:35 +0200 Subject: start from scratch --- Classes/GradesBook(DynamicArray)/GradesBook.cpp | 91 ------------------------- Classes/GradesBook(DynamicArray)/GradesBook.h | 24 ------- 2 files changed, 115 deletions(-) delete mode 100644 Classes/GradesBook(DynamicArray)/GradesBook.cpp delete mode 100644 Classes/GradesBook(DynamicArray)/GradesBook.h (limited to 'Classes/GradesBook(DynamicArray)') diff --git a/Classes/GradesBook(DynamicArray)/GradesBook.cpp b/Classes/GradesBook(DynamicArray)/GradesBook.cpp deleted file mode 100644 index 0c04b83..0000000 --- a/Classes/GradesBook(DynamicArray)/GradesBook.cpp +++ /dev/null @@ -1,91 +0,0 @@ -#include "GradesBook.h" - - -GradesBook::GradesBook() -{ - capacity = 4; - grades = new int[capacity]; - size = 0; -} -GradesBook::GradesBook(const GradesBook& other) -{ - cout << "Copy contr of GradesBook" << endl; - CopyFrom(other); -} -GradesBook& GradesBook::operator=(const GradesBook& other) -{ - if (this != &other) - { - Free(); - CopyFrom(other); - } - return *this; -} -GradesBook::~GradesBook() -{ - Free(); -} - - -void GradesBook::CopyFrom(const GradesBook& other) -{ - grades = new int[other.capacity]; - for (int i = 0; i < other.size; i++) - grades[i] = other.grades[i]; - capacity = other.capacity; - size = other.size; -} -void GradesBook::Free() -{ - delete[] grades; -} - - -bool GradesBook::isFull() -{ - return size == capacity; -} -void GradesBook::AddGrade(int grade) -{ - if (!isValidGrade(grade)) - return; - if (isFull()) - Resize(); - grades[size++] = grade; - -} -void GradesBook::Resize() -{ - int* temp = new int[capacity * 2]; - for (int i = 0; i < size; i++) - temp[i] = grades[i]; - capacity *= 2; - delete[] grades; - grades = temp; -} -void GradesBook::RemoveLastGrade() -{ - size--; -} -bool GradesBook::isValidGrade(int grade) -{ - return (grade >= 2 && grade <= 6); -} -int GradesBook::operator[](int index) const -{ - if (index < 0 || index >= size) - return -1; - return grades[index]; -} - -ostream& operator<<(ostream& stream, GradesBook& obj) -{ - for (int i = 0; i < obj.capacity; i++) - { - if (i < obj.size) - stream << obj.grades[i] << ' '; - else - stream << '_' << ' '; - } - return stream; -} \ No newline at end of file diff --git a/Classes/GradesBook(DynamicArray)/GradesBook.h b/Classes/GradesBook(DynamicArray)/GradesBook.h deleted file mode 100644 index c9ba8e9..0000000 --- a/Classes/GradesBook(DynamicArray)/GradesBook.h +++ /dev/null @@ -1,24 +0,0 @@ -class GradesBook -{ - int* grades; - int size; - int capacity; - - bool isValidGrade(int grade); - void Resize(); - void CopyFrom(const GradesBook& other); - void Free(); -public: - GradesBook(); - GradesBook(const GradesBook& other); - GradesBook& operator=(const GradesBook& other); - ~GradesBook(); - - bool isFull(); - void AddGrade(int grade); - void RemoveLastGrade(); - - int operator[](int index) const; - friend ostream& operator<<(ostream& stream, GradesBook& obj); - -}; -- cgit v1.3.1-23-gd82d