Project is an introduction to C++ language at School21/Ecole42.
Each module is dedicated to some aspects of C++ language and helps to get acquainted with language syntax, constructions and tools.
- According to project requirements all programs are compiled using
c++
,-std=c++98
,-Wall- Wextra -Werror
flags. - Each task contains own Makefile that compiles the program.
Whole module is dedicated to Namespaces, classes, member functions, stdio streams, initialization lists, static, const, and some other language basics.
Simple program as an introduction to std::cout
The program represents a phonebook that can read from STDIN three commands ADD, SEARCH, EXIT in a loop and store maximum up to 8 contacts. 9th contact will erase and replace the oldest contact in the phonebook.
The main goal of the task is to reconstruct the Account.cpp
upon given Account.hpp
and intra.log
file.
Module is dedicated to memory allocation, pointers to members, references, switch statement.
Module is dedicated to polymorphism, operator overloading and Orthodox Canonical class form.
Creation of a class that can store a fixed-point variable.
The task is to implement bsp function that uses Fixed and Point class from previous exercises and should determine whether the point with given coordinates is inside the triangle or not.
Module is an introduction to inheritance.
Implementation of base class and derived classes.
Task is dedicated to solving Diamond problem.
ClapTrap
/ \
/ \
/ \
ScavTrap FragTrap
\ /
\ /
\ /
DiamondTrap
Introductoin to subtype polymorphism, abstract classes, interfaces.
Implementation of base and pure virtual classes and its derived classes.
Implementation of several pure virtual classes and interfaces. The whole program resembles the game where character has some inventory slots to store materia (attack or heal) and actions that he/she can aplly on others.
The whole module is dedicated to usage of exception
C++ type casting
static_cast<>
reinterpret_cast<>
dynamic_cast<>
The module is an introduction to templates in C++.
The module is about templated containers, iterators, algorithms. The module encourages to use STL and Algorithms libraries in C++.
Introduction to algorithms and iterators in C++.
Implementation of std::stack
class with additional feature: the class should be iterable.
The module is dedicated to usage of Container classes.
Program should output the value of certain amount of bitcoin on a certain date. It reads input
file, comparing corresponding dates with those in data.csv
and make an exchange depending on rate.
data.csv
date,exchange_rate
2009-01-02,0
2009-01-05,0
2009-01-08,0
2009-01-11,0
2009-01-14,0
2009-01-17,0
2009-01-20,0
...
input
date | value
2005-02-02 | 0.1
2011-09-14 | 390.57
2010-11-03 | 517.239
2020-06-26 | 998.808
2012-07-09 | 1242.2
2019-07-11 | 700.492
2019-06-25 | 416.636
2017-05-22 | 507.753
...
Implementation of Reverse Polish notation
The aim is to implement merge insertion sort algorithm using two different containers and compare the time spent by both containers on data management and sorting.