Sunteți pe pagina 1din 3

Definiti clasa Comanda: (modeleaza o comanda de mai multe produse)

Atribute (campuri) private:


- numeFurnizor (sir de caractere),
- nrProduse (tip int)
- preturi (un pointer de tip double, care va reprezenta adresa tabloului in care vor fi stocate preturile
produselor .
Metode:
1. un constructor explicit vid, care va initializa numeleFurnizor cu “Nespecificat”, numarul de produse cu
valoarea unei constante definite in program si va aloca memorie pentru numarul respectiv de preturi.
2. constructor explicit cu parametri, care va initializa numele furnizorului si numarul de produse cu valorile
parametrilor primiti si aloca spatiul corespunzator pentru preturile produselor (nu initializeaza preturile).
3. constructor de copiere
4. destructor (optional)
5. metode getter/setter pentru atributele numeFurnizor si nrProduse; setter pentru tabloul de preturi
(initializeaza preturile cu cele din tabloul primit ca parametru) si getter care va returna adresa tabloului;
6. metoda care va calcula si returna pretul total al produselor pentru acea comanda
7. o metoda verifica() care primeste ca parametru o valoare de tip double si verifica daca toate preturile din
comanda respectiva sunt sub sub acea valoare sau nu, returnand o valoare sugestiva (int sau bool).
----------------------------------------------------------------------------------------------

• Scrieti o functie independenta (globala) care primeste ca parametri adresa tabloului de obiecte si
numarul de obiecte si returneaza obiectul Comanda care are pretul total cel mai mic.
-------------------------------------------------------------------
In main():
1. Creati un tablou de 4 elemente de tip Comanda. Fiecare obiect va fi initializat folosind setterii, cu valori
specificate direct prin program (pentru preturi initializati tablouri cu preturi in main() si transmiteti-le
setterului corespunzator). Afisati datele fiecarui obiect.
2. Calculati pretul total al tuturor comenzilor din tablou si afisati rezultatul.
3. Afisati numarul comenzilor care au toate preturile sub o valoare stabilita prin program (cu metoda
verifica()).
4. Apelati functia care determina Comanda cu pretul cel mai mic si afisati numele furnizorului si pretul
total al comenzii.

Obs: nu cititi valori de la tastatura, le specificati direct in program. Chiar daca testati cu valorile de test
de mai jos, nu lasati in final aceste valori, problemele vor semana prea mult la verificarea automata.

SUCCES!
Exemplu functionare:

Date de test:

H&M 100 200 50

C&A 50 60.9 40 30

Decathlon 50 70 20 60.5

IPB 20 12.5 40 15 60

Valoarea de prag= 100 (pentru metoda verifica() )

Rezultate
Obiectele din tablou :
H & M 100 200 50 Total = 350
C & A 50 60.9 40 30 Total = 180.9
Decathlon 50 70 20 60.5 Total = 200.5
IPB 20 12.5 40 15 60 Total = 147.5
------------------------------------------------------------ -
Pretul total : 878.9
------------------------------------------------------------ -
Nr comenzilor cu preturi sub 100 : 3
------------------------------------------------------------ -

Comanda cu pretul total cel mai mic : IPB 147.5

S-ar putea să vă placă și