Sunteți pe pagina 1din 3

Laborator 3.

Clase si obiecte

Problema 1. Sa se implementeze o clasa nr_complex care sa descrie un numar complex. Se vor


implementa metodele get si set.
Problema 2. Sa se citeasca de la tastatura informatiile specifice cartilor dintr-o librarie: denumire
carte, autorul principal, al doilea autor, numarul de pagini si pretul. Prin intermediul unei clase,
carte, care descrie datele despre o carte, proprietatile (denumire carte, autorul principal, al doilea
autor, numarul de pagini si pretul) si metodele de prelucrare (initializarea si afisarea unei carti) sa
se afiseze pe ecran informatiile despre orice carte tratata.

Problema 3. Pentru orice sir de caractere, utilizandu-se o clasa clasasir, printr-un meniu adecvat
sa se realizeze urmatoarele operatii: citirea de la tastatura, afisarea sirului, conversia sirului la
caractere mici, conversia la caractere mari si adaugarea unui subsir la sirul dat. Operatia de
conversie se va realiza cu ajutorul unei functii care nu este membra a clasei clasasir.
Problema 4. Se considera o agenda de contacte caracterizata prin :
tip agenda - 1 caracter (P personala, S de servici)
multimea de contacte prezente in agenda.
Un contact este definit de o pereche de cuvinte din care primul este numele de contact al
persoanei, iar al doilea adresa sa de contact (adresa de mail, nr. telefon, etc) . Exemplu de contact
{ Popescu Vasile , pvasile@mta.ro }.
Observatie : Pentru un acelasi nume din agenda de contacte, pot exista mai multe inregistrari,
corespunzatoare mai multor adrese de contact. Spre exemplu, in aceeasi agenda pot exista
urmatoarele contacte: { Popescu Vasile , pvasile@mta.ro } si {Popescu Vasile,
popescu.vasile@gmail.com}.
Propuneti o clasa CContacte pentru reprezentarea si manipularea agendelor de contacte
de acest tip.
I (2p). Clasa va contine tipul de agenda si multimea contactelor. Ea va include constructorii
considerati necesari precum si destructorul clasei.
II (2p). Sa se implementeze urmatoarele metode:
a) addContact (char* name, char* contact) pentru adaugarea unui nou contact in agenda.

b) deleteContact (char* name) pentru stergerea contactelor asociate unui nume.


III(2p). Sa se implementeze o metoda print() pentru afisarea informatiilor din agenda de
contacte.
Formatul de afisare este urmatorul: pe prima linie apare tipul agenei de contacte; in continuare,
pentru fiecare contact din agenda, apar numele contactului si adresele sale de contact, separate
intre ele prin virgula, pe o singura linie. Un exemplu de afisare este urmatorul:
P // personala
Popescu Vasile = pvasile@mta.ro, popescu.vasile@gmail.com
Popescu Mircea = pmircea@mta.ro, 0700123456, popescu_mircea@yahoo.com

Programul de test va fi urmatorul:


void main(){
CContacte c1 (P); // se va inlocui cu c1.init(P);
c1.addContact(popescu vasile,pvasile@mta.ro);
c1.addContact (popescu mircea,pmircea@mta.ro);
c1.addContact (popescu mircea,popescu_mircea@yahoo.com);
ag1.print ();
cout<<endl;
CContacte c2 (P);
c2.addContact (popescu vasile,pvasile@mta.ro);
c2.addContact (popescu vasile,popescu.vasile@gmail.com);
c2.addContact (popescu mircea,pmircea@mta.ro);
c2.addContact (popescu mircea,0700123456);
c2.addContact (popescu mircea,popescu_mircea@yahoo.com);

cout<<endl;
CContacte c4 (P);
CContacte C[10];
C[0]=c1;

C[1]=c2;
C[2]=c3;
C[3]=c4;

int n = nule (C,4);


cout << n << endl;
}

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