Acest proiect a avut ca tematica simularea unei baze de date pentru carduri bancare ce permite utilizatorului sa gestioneze carduri bancare (de tip Visa sau Revolut - de retinut ca un card REVOLUT este un caz particular de card Visa, dar are cateva optiuni in plus).
Programul ne permite sa adaugam carduri personalizate in baza de date si sa realizam operatii cu acestea, precum depunerea, retragerea (unei sume de bani), stergerea sau copierea datelor de pe carduri, vizualizarea detaliata a cardurilor, etc.
g++ Card.cpp main.cpp -o main
.\main
Programul dispune de un meniu interactiv la rularea programului:
Intro
La fiecare pas, introduceti simplu cifra corespunzatoare optiunii dorite, sa zicem ca dorim sa adaugam un card in baza de date:
Daca nu selectam o optiune valida sau inputul nu are sens, programul va arunca o exceptie catre utilizator:
Features
Aceasta reprezinta prima optiune din meniu, cuprinzand crearea obiectelor (apelarea constructorilor si folosirea smart pointers) si stocarea acestora. La adaugarea unui card, se cer mai multe informatii de la utilizator, ce se introduc de la tastatura, fiind completate de date random generate in constructori (numarul de card, CVV, etc) - un exemplu este urmatorul:
Acum ca am adaugat mai multe carduri in baza de date, vom dori sa le listam pentru a vedea toate datele corespunzatoare. Acest lucru se realizeaza cu a doua optiune din meniu, ce va afisa pe ecran toate cardurile in ordinea adaugarii lor.
In momentul in care vom dori sa efectuam tranzactii pe cardurile adaugate, functiile virtuale au rolul de a particulariza operatiunile in functie de tipul cardului. Spre exemplu, daca retragem bani de pe un card VISA vom avea un comision de retragere la fiecare operatiune, pe cand la un card REVOLUT comisionul este implicit 0 iar la prima tranzactie din sesiune (din ziua curenta) vom primi un cashback.
Pentru a efectua operatiuni trebuie sa selectam optiunea 3 din meniu apoi indicele de ordine al cardului pe care dorim sa efectuam o operatiune, un exemplu este urmatorul:
Din acest moment putem selecta una dintre urmatoarele operatiuni/tranzactii:
La selectarea optiunii 4 din meniu, programul isi incheie executia.
- Numele unei persoane nu trebuie sa depaseasca 50 de caractere
- Comisionul trebuie sa fie o valoare pozitiva
- Comisionul implicit pentru cardurile REVOLUT este 0.






