Skip to content

Dragos999/Proiect_POO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

Proiect_POO

Titlu: Gestionare scolara

Tema: Gestiunea scolaritatii

Clase:

1.Clasa student:

-Clasa "principala" a programului;
-Clasa are scopul de a gestiona atributele unui student: numele(variabila de tip char*), precum si doua atribute obiecte ale altor clase: ob_proiect (obiect din 

clasa proiect), care cuprinde proiectul unui student si nota luata pe acesta, si ob_activitate (obiect din clasa activitate), care cuprinde notele pentru activitate ale unui student si numarul acestora; -Contine un constructor fara parametru, un destructor, un constructor cu parametri (prin care sunt definite ob_proiect si ob_activitate prin lista de initializare), un constructor de copiere, metode de get si set atat pentru clasa student, cat si pt proiect si activitate, metoda operator= (seteaza inclusiv op_proiect si ob_activitate, prin apeluri catre set-eri din cadrul respectivelor clase), o supraincarcare pt cout si una pt cin;

2.Clasa proiect:

-Are doua atribute: char* nume_proiect (denumirea proiectului) si double nota_proiect;
-Contine metode set, get, constructori cu si fara parametri si un destructor;

3.Clasa activitate:

-Are doua atribute double* nota_activitate (vector de elemente double cu notele pentru activitate) si int numar_note;
-Contine metode set, get, constructori cu si fara parametri, un destructor, dar si o metoda prin care calculeaza media aritmetica notelor pentru activitate;

4.Clasa media_finala:

-Are doua atribute de tip double: nota_activitate (media notelor) si nota_proiect, dar si un al treilea atribut apartinand clasei pondere (pondere p);
-Are constructori cu parametru si fara;
-Are doua metode set prin care defineste variabila p din clasa pondere (acestea sunt prin supraincarcare in functie de ce tip de pondere alegem: int, intre 0-100 sau 
double, intre 0-1)
-Are o metoda prin care calculeaza media ponderata dintre nota_activitate si nota_proiect;

5.Clasa pondere:

-Are doua atribute de tip double: pr(proiect) si ac(activitate), reprezentand ponderile celor doua note pt care se calculeaza media finala;
-Are un constructor fara parametri;
-Are doua metode de tip set (cu supra incarcare in functie de tipul de pondere: daca set primeste variabile intregi le transforma in reale si le imparte la 100 pt

a obtine pondere intre 0-1) si doua de tip get;

Functionalitati:

-Se pot adauga studenti; Odata cu citirea numelui unui student trebuie sa ii atribui si note, numarul de note, numele proiectului realizate de acesta, nota pentru proiect; -Se pot afisa studenti; -Se poate calcula media pentru notele pentru activitate ale studentului; -Se poate calcula media finala; -Se pot copia datele unui student; -Se pot lasa ponderele default de 50-50 sau se pot adauga altele;

Programul contine si un meniu interactiv cu urmatoarele functii:

-Adaugare student (citirea numelui acestuia intrucat se creaza un vector de obiecte tip student la inceput); -Afisare student (cu toate datele lor); -Calculare medie finala; -Afisare lista studenti introdusi; -Afisare lista proiecte realizate (titlu proiect + cine l-a realizat); -Adaugare student prin copierea datelor altuia (creaza student nou); -Copiere a datelor unui student pentru altul (pot fi copiate pt un student deja existent); -Lista medii studenti; -Afisare studenti admisi (cine are media finala peste 5);

Doi studenti sunt introdusi by default, pentru a nu trebui sa incepi de fiecare data programul cu 0 studenti;

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages