Skip to content
This repository has been archived by the owner on Jun 19, 2023. It is now read-only.
/ cppPool Public archive

[Final Grade: A] Second "Piscine" of Epitech, C++ programs to learn Object-oriented programming.

Notifications You must be signed in to change notification settings

simonprovost/cppPool

Repository files navigation

Epitech Computer Science School [C++ POOL]



GRADE obtained

  • Grade A

Table of Contents

  • CppPool: C++ Basics
    • Second "Piscine" of Epitech, C++ programs to learn Object-oriented programming.

CppPool: C++ Basics

Back to top

  • Day01: Storage Classes

    • white_rabbit.c : function that follow Alice’s journey.
    • menger : display a fractal curve based on squares, with the size and depth given in parameters.
    • bitmap : build a .bmp file.
    • drawing.c : draw square in a bmp file.
    • pyramid.c : return the shortest path to the pyramid’s exit.
  • Day02m: Pointers and Memory

    • mul_div.c : calculates the sum and product of the first and second parameters with pointers.
    • mem_ptr.c : concatenates str1 and str2 in parameters. The resulting string is stored in the pointer pointed by res.
    • tab_to_2dtab.c : takes an array of integers as its tab parameter, and uses it to create a bidimensional array of length lines and width columns.
    • func_ptr.c : build a few function pointers.
    • castmania.c : understanding and mastering casts.
  • Day02a: C Data Structures

    • simple_list.c : build a simple linked list, with main manipulation functions.
    • simple_btree.h : create a set of functions that will let you manipulate a binary tree.
    • generic_list.c : create a generic list.
    • stack.h : create a stack based on the previously created generic list.
    • queue.h : create a queue based on the previously created generic list.
    • map.h : create a map based on the previously created generic list.
    • tree_traversal.h : iterate over a tree in a generic way, using containers.
  • Day03: Advanced String Manipulation

    • ex00 : create a String module, init and destructor function.
    • ex01 : sets the content of the current instance to the string parameters.
    • ex02 : appends a parameter to the content of the current instance and the opposite function.
    • ex03 : returns the char at the pos position of the current instance, or -1 if the position is invalid.
    • ex04 : empties the content of the current instance.
    • ex05 : returns the size of the string, or -1 if the string pointer is NULL.
    • ex06 : compares the content of the current instance to that of str. Results are the same as the strcmp function.
    • ex07 : copies n characters from the current instance’s content, starting from the pos position, into s. Returns the number of characters copied.
    • ex08 : returns the buffer contained in the current instance..
    • ex09 : returns 1 if the string is empty, -1 otherwise.
    • ex10 : searches for the first occurence of str’s content in the current instance, starting from the pos position.
    • ex11 : insert : copies str into the current instance, at the pos position.
    • ex12 : returns the content of the current instance converted into an int. Behaves like the atoi(3) function.
    • ex13 : returns an array of strings filled with the content of the current instance split using the separator delimiter.
    • ex14 : displays the content of the current instance to the standard output.
  • Day06: IOStream, String and Objects

    • my_cat.cpp : write a simplified cat(1) command.
    • my_convert_temp.cpp : convert temperatures from the Celsius scale to the Fahrenheit scale, and vice-versa.
    • sickkoala.cpp : simulation of your dear Koalas’ health, with the creation of a koala class.
    • koalanurse.cpp : create the koalanurse class.
    • koaladoctor.cpp : create a doctor class to give instructions to the nurses.
    • ex05 : create lists for the classes created before.
  • Day07m: Creation of Starfleet, Polymorphism, Namespaces

    • Federation.cpp : create a Federation namespace, which will contain all the elements that allow the Federation to exist.
    • Borg.cpp : create a Borg namespace containing a Ship class.
    • Destination.hh : Destination is an enumeration defined in the Destination.hh file.
  • Day07a: Skat, new, delete and Smart Pointers

    • skat.cpp : inplement the skat class.
  • Day08: Droids, Coplien form and Default delete

    • droid.cpp : creation of the droid class.
    • droidmemory.cpp : add experienceacquired, and FingerPrint,theDroidMemory’sid,storedasasize_t.
  • Day09: Inheritance

    • character.c : create a simple Character class, getLvl(), getPv(), getPower().
    • warrior.cpp : create a warrior class.
    • ex02 : create Mage, Priest class.
    • ex03 : add Paladin class.
    • ex04 : add Hunter class.
  • Day10: Override and final

    • ex00 : Sorcerer, Peon, Victim classes.
    • ex01 : Weapons classes.
    • ex03 : omplete the definition of the following AMateria class, and implement the necessary member functions.
  • Day13: Encapsulation, Canonical form, Operators and Nested Classes

    • ex00 : Picture and Toy class.
    • ex01 : re-use the two classes from the previous exercise and make them comply with the canonical form.
    • ex02 : add two values to the ToyType enumeration: BUZZ and WOODY, and create two new Buzz and Woody classes.
    • ex03 : add a speak method to the Toy class, taking the statement to say as a parameter.
    • ex04 : add operators to classes.
    • ex05 : add a speak_es method to the Toy class, with the same signature as speak.
  • Day14m: Casting Spells

    • ex00 : implement the Fruit, Lemon and Banana classes.
    • ex01 : Sorting the FruitBoxes will be done by hand. It will be done by a LittleHand. Implement the LittleHand class.
  • Day14a: Errors, Units Tests

    • ex00 : implement the error reporting system.
    • ex01 : unit tests.
    • ex02 : implement a CommunicationDevice : use the CommunicationAPI and handle all its errors.
    • ex03 : design a generic class to ensure the release of dynamically allocated compo- nents of the rover.
    • ex04 : Our ScopedPtr is nice, but we can’t copy it. Let’s implement a RefPtr that can be stored, copied, and still takes care of deleting the object!
  • Day15: Templates

    • ex00 : create templates that should generate functions that can be called with any type of parameter, as long as they have the same type and support all comparison operators.
    • ex01 : write the compare function template. It takes two parameters of the same type, and returns an int.
    • ex02 : several function that returns min.
    • ex03 : implement the foreach function template. It will let you walk over an array and call a function for each element in it.
    • ex04 : write the equal function template that takes as parameters two constant references to a given type. It must return true if the two parameters are equal, and false otherwise.
    • ex05 : write an array class template that contains elements of type T.
  • Day16: The StandarT Library

    • ex00 : create a Parser class.
    • ex01 : create a DomesticKoala class which will represent a Koala that can learn to do things. Everything a Koala can do will be a KoalaAction member function.
    • ex02 : create an event handler using an std::list. This event handler will let you schedule actions at a T time, know the action scheduled at a given time, add T time units to the current time, and many other things.
  • Day17: Algorithms

    • ex00 : create a do_find function template taking 2 parameters: reference to a templated type and an integer.
    • ex01 : fill in the blanks using the appropriate STL algorithms in MyAlgorithms.hpp.
    • ex02 : create a Cesar class implementing the IEncryptionMethod interface.
    • ex03 : re-use all the files from the previous exercise and write the Encryption class.

About

[Final Grade: A] Second "Piscine" of Epitech, C++ programs to learn Object-oriented programming.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published