From 27bf64acadfdf853e2216e06e4c644662b3c2b27 Mon Sep 17 00:00:00 2001 From: Radu-Mihai Costache Date: Thu, 22 Jun 2023 17:28:48 +0300 Subject: [PATCH] Update README.md --- README.md | 75 ++++++++++++++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index ed4415c..f6011f0 100644 --- a/README.md +++ b/README.md @@ -1,58 +1,65 @@ -# OOP Template +# Travel Planner + +### Mod de Functionare + +- Se vor introduce coordonatele punctului de plecare. +- Se va raspunde la un set de intrebari (Intrebari cu DA/NU, intrebari cu scara) +- Pe baza intrebarilor aplicatia va stabili un profil al utilizatorului +- Se va introduce distanta maxima in km pe care utilizatorul este dispus sa o parcurga +- La final aplicatia va oferi destinatia cu cel mai bun match cu profilul creat si care se afla in limitele de distanta ### Tema 0 -- [ ] Nume proiect (poate fi schimbat ulterior) -- [ ] Scurtă descriere a temei alese, ce v-ați propus să implementați +- [X] Nume proiect (poate fi schimbat ulterior) +- [X] Scurtă descriere a temei alese, ce v-ați propus să implementați ## Tema 1 #### Cerințe -- [ ] definirea a minim 3-4 clase folosind compunere -- [ ] constructori de inițializare -- [ ] pentru o clasă: constructor de copiere, `operator=` de copiere, destructor +- [X] definirea a minim 3-4 clase folosind compunere +- [X] constructori de inițializare +- [X] pentru o clasă: constructor de copiere, `operator=` de copiere, destructor -- [ ] `operator<<` pentru toate clasele pentru afișare (std::ostream) -- [ ] cât mai multe `const` (unde este cazul) -- [ ] implementarea a minim 3 funcții membru publice pentru funcționalități specifice temei alese -- [ ] scenariu de utilizare a claselor definite: +- [X] `operator<<` pentru toate clasele pentru afișare (std::ostream) +- [X] cât mai multe `const` (unde este cazul) +- [X] implementarea a minim 3 funcții membru publice pentru funcționalități specifice temei alese +- [X] scenariu de utilizare a claselor definite: - crearea de obiecte și apelarea funcțiilor membru publice în main - vor fi adăugate în fișierul `tastatura.txt` exemple de date de intrare de la tastatură (dacă există) -- [ ] tag de `git`: de exemplu `v0.1` -- [ ] serviciu de integrare continuă (CI); exemplu: GitHub Actions +- [X] tag de `git`: de exemplu `v0.1` +- [X] serviciu de integrare continuă (CI); exemplu: GitHub Actions ## Tema 2 #### Cerințe -- [ ] separarea codului din clase în `.h` (sau `.hpp`) și `.cpp` -- [ ] moșteniri - - [ ] clasă cu atribut de tip pointer la o clasă de bază cu derivate - - [ ] funcții virtuale (pure) apelate prin pointeri de bază din clasa de mai sus, constructori virtuali (clone) +- [X] separarea codului din clase în `.h` (sau `.hpp`) și `.cpp` +- [x] moșteniri + - [X] clasă cu atribut de tip pointer la o clasă de bază cu derivate + - [X] funcții virtuale (pure) apelate prin pointeri de bază din clasa de mai sus, constructori virtuali (clone) - minim o funcție virtuală va fi **specifică temei** (e.g. nu simple citiri/afișări) - - [ ] apelarea constructorului din clasa de bază din constructori din derivate - - [ ] smart pointers - - [ ] `dynamic_cast` -- [ ] suprascris cc/op= pentru copieri/atribuiri corecte, copy and swap -- [ ] excepții - - [ ] ierarhie proprie cu baza `std::exception` sau derivată din `std::exception`; minim 2 clase pentru erori specifice - - [ ] utilizare cu sens: de exemplu, `throw` în constructor, `try`/`catch` în `main` -- [ ] funcții și atribute `static` -- [ ] STL -- [ ] cât mai multe `const` -- [ ] la sfârșit: commit separat cu adăugarea unei noi derivate fără a modifica restul codului -- [ ] tag de `git`: de exemplu `v0.2` + - [X] apelarea constructorului din clasa de bază din constructori din derivate + - [X] smart pointers + - [X] `dynamic_cast` +- [X] suprascris cc/op= pentru copieri/atribuiri corecte, copy and swap +- [X] excepții + - [X] ierarhie proprie cu baza `std::exception` sau derivată din `std::exception`; minim 2 clase pentru erori specifice + - [X] utilizare cu sens: de exemplu, `throw` în constructor, `try`/`catch` în `main` +- [X] funcții și atribute `static` +- [X] STL +- [X] cât mai multe `const` +- [X] la sfârșit: commit separat cu adăugarea unei noi derivate fără a modifica restul codului +- [X] tag de `git`: de exemplu `v0.2` ## Tema 3 #### Cerințe -- [ ] 2 șabloane de proiectare (design patterns) -- [ ] o funcție șablon (template) cu sens; minim 2 instanțieri -- [ ] o clasă șablon cu sens; minim 2 instanțieri - -- [ ] tag de `git`: de exemplu `v0.3` sau `v1.0` +- [X] 2 șabloane de proiectare (design patterns) +- [X] o funcție șablon (template) cu sens; minim 2 instanțieri +- [X] o clasă șablon cu sens; minim 2 instanțieri +- [X] o specializare pe funcție/clasă șablon +- [X] tag de `git`: de exemplu `v0.3` sau `v1.0` ## Resurse - [SFML](https://github.com/SFML/SFML/tree/aa82ea132b9296a31922772027ad5d14c1fa381b) (Zlib) -- adăugați trimiteri către resursele externe care v-au ajutat sau pe care le-ați folosit