Sunteți pe pagina 1din 10

BILET NR .

1 - String
S se construiasc clasa String, coninnd: un pointer la irul stocat n memorie dinamic (i eventual lungimea irului) - constructori de clas i de copiere - destructor - suprancrcri pentru operatorii: ! test de ir vid + concatenare cu obinerea unui ir nou , pornind de la dou iruri, ir cu char, ir cu char [ ], char [ ] cu ir ( funcie friend!); += concatenare (cu un ir existent), concatenare de ir cu char sau de ir cu char [ ] ; [ ] pentru referirea unui caracter din ir sub forma s[3] = 'a' sau c = s[3]; == i != pentru comparaii ntre iruri; << i >> pentru intrri - ieiri la nivel de ir de pe fiiere standard i de pe fisier pe disc (char)String, cast ctre char, prin furnizarea primului caracter din ir funcia membr abrev( ) pentru obinerea unei prescurtri standard a irului, prin cutare ntr-o tabel de prescurtri posibile, structurat pe clase.

BILET NR . 2 -Template Vector


S se construiasc clasa template Vector , coninnd: un pointer la vectorul stocat n memorie dinamic i numrul de elemente - constructori de clas i de copiere - destructor - suprancrcri pentru operatorii: ! test de vector vid; + concatenare a doi vectori ; += concatenare a doi vectori , de vector cu un element sau de vector cu tip [ ] [ ] pentru referirea unui element din vector == != i alte comparaii ntre iruri << i >> pentru operaii de intrare - ieire la nivel de vector, pe fiiere standard i de pe disc (tip)Vector, cast ctre tip, prin furnizarea primului element din vector - funcii membre: sort( bool ( *) ( ) ) pentru sortarea vectorului dup o direcie primit ca pointer de funcie regr_lin(Vector &, Vector &, double &, double &) pentru regresie liniar, pornind de la doi vectori de observaii S se testeze clasa pentru dou tipuri de date fundamentale.

BILET NR . 4 - Cont Bancar


S se construiasc clasa ContBancar coninnd: numr, titular, parola, valuta i sold - constructori de clas pentru obinerea unui obiect din date elementare prin introducerea datelor de la terminal, fr ecou pentru parol din fiierul "banca.dat", numrul contului dat de la terminal fiind cheia de cutare n fiier - destructor, care s asigure salvarea automat a contului n fiierul "banca.dat" - suprancrcri pentru operatorii = pentru a transfera o sum dintr-un cont n alt cont nou, cu eventuale conversii valutare + pentru transfer simultan din mai multe conturi ntr-un cont destinaie += pentru a transfera o sum dintr-un cont n alt cont, cumulnd soldurile a mai multor conturi += pentru a depune o sum n cont -= pentru a retrage o sum din cont << i >> pentru operaii de intrare - ieire la nivel de obiect ! test de sold zero - funciile depun() i retrag(), pentru depunere/retragere sum din cont, bonificare dobnd - funcia spune_total() pentru a furniza total solduri, n conturile existente, convertite n lei

BILET NR . 5 - Polinom
S se construiasc clasa Polinom coninnd: lista n memorie dinamic, a termenilor, sub forma coeficient-grad, sortat descresctor dup grad - constructori de clas pentru obinerea unui obiect dintr-un numr variabil de perechi (coeficient, grad), folosind funcii cu numr variabil de argumente prin introducerea datelor de la terminal - destructor - suprancrcri pentru operatorii -- pentru derivare formal i ++ pentru integrare formal operator(double) pentru calculul valorii polinomului ntr-un punct + ,-,* ,/ i % pentru adunare, scdere, nmulire, mprire i restul mpririi a dou polinoame + = pentru adugarea unui nou termen i -= pentru eliminarea unui termen << i >> pentru operaii de intrare - ieire la nivel de obiect ! test de polinom nul; - funciile: integ(double,double) - integrare numeric, pe un interval folosind operatorii ++ i () deriv(double) - evaluarea derivatei ntr-un punct, folosind operatorii -- i () cmMdc() i cmmmc() a dou polinoame folosind operatorii / i * rad(double,double) - determinarea unei rdcini dintr-un interval dat

BILET NR . 6 - BigInt
Clasa BigInt pentru operaii cu numere ntregi mari, cu semn, conine: - numrul memorat ca text (literele aferente cifrelor numrului), n memoria dinamic sau sub forma signed char cifra[NR_MAX_CIFRE], adic fiecare cifr e memorat pe un ntreg mic (bait) - constructori de clas pentru obinerea unui obiect dintr-un numr ntreg obinuit sau dintr-un ir de caractere prin introducere de la terminal - destructor - suprancrcri pentru operatorii: +,-,*, /, %, -- i ++ cu semnificaiile cunoscute, dar opernd ntre obiecte BigInt, ntre BigInt cu int sau int cu BigInt (operanzii unari onoreaz diferit pre sau postfixarea) << i >> pentru operaii de intrare - ieire la nivel de obiect <,<=,>,>=,!=,== pentru comparaii ntre BigInt, sau BigInt cu int, sau int cu BigInt ! test de zero Se va testa viteza de execuie a calculelor pentru cele dou tipuri de reprezentri, alegndu-se cea mai performant.

BILET NR . 7 - Matrice
Clasa Matrice pentru operaii matriceale conine: - Nr . de linii i de coloane - elementele memorate pe linie i un vector de pointeri la linii - constructori de clas pentru obinerea unui obiect iniializat cu zero: Matrice( int, int) prelund datele dintr-un fiier: Matrice( char *) prin introducere de la terminal: Matrice() - destructor - Suprancrcri de operatori: [ ] pentru a permite adresarea unui element sub forma m[i][j] +,-,*, / pentru operaii dintre matrici, sau de matrici cu numere << i >> pentru operaii de intrare - ieire la nivel de obiect (double)Matrice, cast prin obinerea determinantului - funciile: unu() i zero() pentru generarea matricelor unitate i zero transpunere, inversare determinare valorilor proprii rezolvarea matriceal a sistemelor de ecuaii liniare

BILET NR . 9 - Student-Lista
Clasa Lista, pentru evidena activitilor cu studenii, este o list de obiecte Student. Adugarea i tergerea din list se fac cu operatorii + i -, iar lista este recunoscut de operatorii de intrare-ieire << i >>. Clasa Student conine la rndul ei: nume_stud, nr_matricol, an_studiu, note. - constructorii de clas Student asigur obinerea unui obiect: din date elementare prin introducere de la terminal prin citirea datelor dintr-un fiier, nr_matricol fiind cheia de regsire - destructorul asigur salvarea obiectelor n fiier, exceptnd obiectele create temporar, pentru necesiti de programare - suprancrcri n clasa Student pentru operatorii: ++ promovarea n anul de studiu urmtor << i >> pentru operaii de intrare - ieire la nivel de student s<<n adugarea notei n studentului s (float)s cast pentru calculul mediei unui student; (char*)s cast pentru extragerea numelui unui student Se va elabora funcia clasificare() care ordoneaz studenii pe ani de studii, descresctor dup media notelor.

BILET NR . 10 - Angajat, angajat cu ziua, angajat in acord


Clasele Angajat, AngajatCuZiua i AngajatInAcord, pentru exemplificarea conceptelor: motenire prin derivare ascunderea unor informaii motenite i a unor operatori virtualizarea funciilor CalculSalariu() ( plata n funcie de numrul de zile lucrate, sau de numrul de piese executate) suprancrcri pentru operatorii: +,- pentru premiere/reinere din salariu a unei sume de bani cast pentru conversie Angajat n int (virsta), long (salariu), char * (nume) +,- pentru adunare/scdere de obiecte ( salariu ) ++p i p++, pre/post incrementare vechime i vrsta, simultan << i >> pentru operaii de intrare - ieire la nivel de obiect [ ] pentru regsiri rapide n liste, pe baza CNP (cod numeric personal), marc, nume funcii membre: print( ), pentru afiare obiecte, care n versiunea din obiect derivat apeleaz i print() din obiectul de baz

BILET NR . 11 - Arbore binar


Clasa ArboreBinar ca arbore binar de cutare, construit din obiecte de tip Nod, stocate n memorie dinamic; suprancrcri pentru operatorii: arb += nod, arb -= nod pentru adugare/ tergere nod << i >> pentru operaii de salvare - restaurare n / din fiier, la nivel de ArboreBinar (arborele se salveaz n SRD i se reconstruiete de jos n sus) << i >> pentru operaii de intrare - ieire la nivel de obiect Nod arb[nod ] pentru cutarea unui nod n arbore; fiecare nod recunoate la rndul lui, operatorii relaionali, bazai pe un cmp cheie specific ( ex. cuvint, pentru o serie de frecven coninnd char cuvint[ 50] i int frecventa). funcii membre: SRD(), RSD(), SDR() pentru traversarea arborelui sFrunza(Nod), numara_nod( arb), print(arb);

Folosii clasa de mai sus pentru a numra cuvintele distincte dintr-un text.

BILET NR . 12 - Figura geometrica


Clasa Fig_Geom pentru manipularea figurilor geometrice, n general. - Clasa conine: numrul de puncte ce definesc figura geometric un vector de obiecte Punct, n succesiunea de desenare a figurii, ultimul punct fiind legat automat de primul - Funcii membre pentru: calculul perimetrului i ariei aflarea unui dreptunghi ce ncadreaz figura desenarea pe ecran, ntr-o ferestr de coordonate date scalarea - Din clasa Fig_Geom se vor deriva clasele Cerc, Dreptunghi (Patrat), Triunghi, Trapez, scriind funcii virtuale care adapteaz metodele la fiecare tip de figur, n parte. - Se vor scrie suprancrcri pentru operatorii: +=, -= pentru adugarea/eliminarea unui punct la o figur << i >> pentru operaii de intrare - ieire la nivel de obiect cast din Cerc n Patrat, prin determinarea ptratului ce ncadreaz cercul & pentru determinarea suprafeei comune la dou figuri | pentru determinarea suprafeei totale ocupat de dou figuri, ce au i o poriune comun f1- f2 pentru determinarea suprafeei ocupat de figura f1, mai puin aria ocupat de figura f2.

BILET NR . 14 - Data
S se defineasc o clas Data pentru gestiunea unor operaii privind data calendaristic, coninnd: trei ntregi: zi, luna, an - funcii de afiare sub diverse formate ( ex. 12/01/99, 31/12/2001, miercuri 5 noiembrie 1988, etc.) - constructori: pornind de la trei ntregi, validnd ncadrarea n intervalele posibile (1-28/29/30/31 pentru zi, 1-12 pentru lun, 19002100 pentru an) pornind de la data furnizat de sistem - suprancrcri pentru operatorii: +, - pentru avansare/dat napoi data cu un numr de zile +, - pentru avansare/dat napoi data cu un numr de zile lucrtoare(eventual dat ca float) ++d, d++ pentru pre-/postincrementare; --d, d-- pentru pre-/postdecrementare; << i >> pentru operaii de intrare - ieire Data d1- d2, pentru determinarea numrului de zile cuprinse ntre dou date - funciile (n majoritate folosite i de suprancrcrile de operatori): isAnBisect(), ( an%400==0 || an%100!=0 && an%4==0 ) isSfirsitLuna(),isInceputLuna()test dac o zi este ultima / prima din lun isSarbatoare(), test de srbtoare legal ( smbt, duminic, 1 mai, 1, 25 i 26 decembrie) Testai clasa pentru a afla data ntoarcerii din concediu (dat n zile lucrtoare), data bonificrii lunare a unei dobnzi ( prima zi lucrtoare dup trecerea lunii)

BILET NR . 15 - Agenda telefonica


Clasele Agenda_telef ce permite regsirea rapid a unor informaii pornind de la nume, numr de telefon, locaie, subir din nume etc. - Clasa const dintr-o serie de liste sortate, de pointeri de obiecte persoana, organizate dup chei de cutare diferite ( L_nume, L_nr, L_locatie ). Se va defini o clas template lista, care implementeaz inserri, tergeri, cutri. Clasa template va fi invocat apoi pentru tipul cheilor de cutare ( char * i int ). suprancrcri pentru operatorii: +, - << i >> pentru inserri, tergeri din list << i >> pentru operaii de intrare - ieire la nivel de obiecte [ ] pentru cutare n list dup o cheie de tip generic <T> funciile: bool containing( nume, subsir) pentru a facilita cutarea dup un subir din nume ( folosind eventual strstr ( ) ).

BILET NR . 16 - Proiect cu activitati


Clasa Proiect se compune din mai multe obiecte Activitate dup modelul unui graf. - clasa Activitate conine: cod, denumire, durata, un vector de coduri activiti direct precedente timp minim i maxim de ncepere (calculate din proiect ) constructorul clasei Proiect creaz o matrice de adiacen ( a[s][d] =1, dac activitatea s condiioneaz activitatea d i 0 n rest) suprancrcri pentru operatorii: +=, -= inserare / tergere activitate din proiect << i >> pentru operaii de intrare - ieire la nivel de obiect Activitate << i >> pentru salvare/restaurare proiect n/din fiier funcii: drum() determinarea drumului critic i a duratei minime a proiectului gantt() pentru afiarea graficului Gantt asociat proiectului print() pentru afiarea timpului minim i maxim de ncepere i a timpului minim i maxim de terminare pentru fiecare activitate isConditionatDe( ), test dac o activitate este condiionat direct sau indirect, de o alta

BILET NR . 17 - Multime
Clasa template Multime, ca mulime generic de elemente de tip generic Element i care conine: cardinalul mulimii; pointer la primul Element funcie de sortare, adaptabil de la un tip de element la altul, presupunnd c fiecare Element recunoate operatori relaionali specifici. suprancrcri pentru operatorii: +,-, * pentru reuniune, diferen simetric, intersecie ( cnd opereaz ntre dou mulimi) | & sau || && sunt folosii ca alternativ pentru reuniune, respectiv intersecie de mulimi +,-, * ntre Multime i Element, cu semnificaia de adugare/extragere element din mulime, respectiv test de apartenen a unui element la mulime << i >> pentru operaii de intrare - ieire la nivel de obiect m1 < m2, dac m1 este inclus n m2

Testai clasa pentru o mulime de numere. Particularizai pentru o mulime de persoane. La ierarhizarea persoanelor se alege vrsta pentru persoanele ntre 18 - 35 ani i salariu, n rest.

BILET NR . 18 - Fractie
Clasa Fracieconinnd: doi ntregi (nr -numrtor i nm -numitor), cu semn doar la numrtor i test de numitor nenul (fracia devine MAX_INT/1, dac se furnizeaz constructorului numitor 0) - Constructori: pornind de la doi ntregi, cu semnul pus la oricare; pornind de la un ntreg, cruia i pune numitorul 1 pornind de la un float sau double, pe care l scrie ca fracie (ex. 0.125 devine 1/8) constructor implicit, genernd fracia 0/1 - suprancrcri pentru operatorii: +,-,/,* reflectnd operaiile uzuale cu fracii i folosind cmMdc(a,b) i cmmmc(a,b) << i >> pentru operaiile de intrare ( citire doi ntregi) i ieire (afiare sub forma -a/b) la nivel de obiect <,<=,>,>=,!=,== pentru comparaii ntre fracii cast pentru conversii de fracii n int i n float sau double; - funciile: simplifica(), amplifica(), reduce() ca simplificare cu cmMdc(a,b)

BILET NR . 19 - Timp
S se defineasc o clas Timp pentru gestiunea unor operaii privind timpul, coninnd: trei ntregi: ora, min, sec - funcii de afiare sub diverse formate ( ex. 15/01/59, 10:12:20 PM, 07:12:20 AM et c.) a timpului local sau a celui din principalele orae (zone) ale lumii - constructori: pornind de la trei ntregi, validnd ncadrarea n intervalele posibile (0-60 pentru min i sec, 0-24 pentru or pornind de la timpul furnizat de sistem - suprancrcri pentru operatorii: +, - pentru avansare/dat napoi ceasul cu un numr de minute +, - pentru avansare/dat napoi ceasul cu un numr de ore : min : sec ++d, d++ pentru pre-/postincrementare cu un minut; --d, d-- pentru pre-/postdecrementare cu un minut; << i >> pentru operaii de intrare - ieire Timp t1- t2, pentru determinarea numrului de minute cuprinse ntre dou momente - funciile (n majoritate folosite i de suprancrcrile de operatori): decalaj() pentru decalaj orar ntre dou orae, de pe fuse orare diferite fuse() pentru afiarea principalelor fuse orare, relativ la GMT ( vezi ComboBox din Windows) Testai clasa pentru a studia durata execuiei unor poriuni din program, folosind cronometre, care prin destructor afieaz durata lor de via.

BILET NR . 20 - Complex
S se defineasc o clas Complex pentru operaii cu numere complexe, coninnd: double Re, double Im -partea real i cea imaginar; bool Format (0 n format algebric, 1 n format trigonometric) - constructori: cu doi parametri ( implicii 0), ntregi, sau float, sau double; cu trei parametri: formatul, partea real i partea imaginar. - suprancrcri pentru operatorii: +, -, *,/ cu semnificaiile lor uzuale cast spre double, pentru furnizarea modulului numrului complex; ~z - conjugatul numrului complex; ! z - modulul numrului complex; << i >> pentru operaii de intrare - ieire Complex n format algebric - funciile (folosite i de suprancrcrile de operatori): abs(z) pentru determinarea modulului numrului complex; arg(z) pentru determinarea argumentului numrului complex; trig(z) pentru conversia n format trigonometric; alg(z) pentru conversia n format algebric. print(z) pentru afiare n format trigonometric: r(cos t + i sin t) Testai clasa pentru a rezolva ecuaii de gradul II, n mulimea numerelor complexe.

BILET NR . 21 - Profesor, Disciplina, an_studiu


Construii clasele Profesor, Disciplina, An_studiu. Stabilii o modalitate prin care obiectele acestor clase sunt puse n relaii M - M (muli la muli, adic un profesor pred mai multe discipline, aceeai disciplin este predat de mai muli profesori, un an de studiu are n programa de studiu mai multe discipline etc) Specializai operatorii pentru: actualizarea facil a acestor legturi salvarea / restaurarea obiectelor n / din fiie Elaborai funcii pentru: verificarea repartizrii tuturor disciplinelor alctuirea normei fiecrui profesor afiarea normei fiecrui profesor

BILET NR . 23 - Colectie
S se defineasc o clas de tip Colectie peste care s opereze un obiect Iterator, avnd suprancrcai operator++ i operator-> pentru facilitarea traversrii coleciei . Clasa Colectie implementeaz funciile Add() i Remove(), avnd ca alternative operator+= , respectiv operator-= . Testai funcionalitatea pe o colecie de materiale i pe colecii de tipuri elementare. Transformai clasele Colectie i Iterator n clase template i refacei testrile n noile condiii.

BILET NR . 24 - Agenda Birou


S se realizeze clasa AgendaBirou , drept list de ActivitatiProgramate, coninnd la rndul lor : - an, lun, zi, or, minute - denumire activitate programat - marcaj pentru rezolvat / nerezolvat Funcii membre: - constructori de clas cu preluare data i ora sistem iniializare data i ora sau numai timp i prelund data curent iniializare prin preluarea activitilor nerezolvate dintr -o agend veche - constructor de copiere - destructor - suprancrcri pentru operatorii: += adugare activiti n agend; -= tergere din agend += concatenarea a dou agende ++ next n agend, -- prior n agend. ! marcarea unei activiti ca rezolvat << i >> pentru intrri - ieiri pe fiiere standard

BILET NR . 25 - Fisier si pozitie


S se realizeze clasele template Fiier i Pozitie, care cooperez pentru a lucra cu fiierul dup principiul vectorului: f[2] = ob2; scrierea articolului 2; ob1= f[1]; - citirea articolului 1. Clasa Fiier conine: - pointerul la structur FILE prin care sistemul gestioneaz fiierul - constructor de clas ce deschide un fiier R/W, dup nume - destructor care nchide fiierul - suprancrcare pentru [] pentru referirea ca Pozitie, a unui articol din fiier, cu poziionare efectiv - indicator i metod pentru testarea sfritului de fiier Clasa Pozitie conine: - referina la un obiect Fiier - constructor de clas ce memoreaz referina la un obiect Fiier - suprancrcri pentru: operator =( T ) scriere n fiier la poziia curent operator ( T ) cast din Pozitie spre tip generic T, materializat printr-o citire din fiier, de la poziia curent S se testeze clasele create, folosind articole de tip int, Pers i Material.

BILET NR . 26 - Matrice rara


S se realizeze clasa MatriceRara, coninnd: - trei vectori, pentru stocarea liniei, coloanei i respectiv, valorii unui element - numrul de elemente ncrcate n matrice - constructori de clas i de copiere - destructor - suprancrcri pentru operatorii: += i -= pentru adugarea / eliminarea unui triplet; * pentru nmulirea matricei cu un vector de dimensiune compatibil cu dimensiunile matricei +, -, * pentru operaiile aritmetice corespunztoare ntre dou obiecte MatriceRara cu dimensiuni compatibile = pentru atribuire << i >> pentru intrri - ieiri din fiiere standard [ ] pentru referirea unui element - metode Nr_linii( ) i Nr_coloane( ) pentru determinarea dimensiunilor matricei Grad( ) calculul gradului de umplere a matricei rare

BILET NR . 29 - Restaurant
Definii obiecte i clase pentru a modela activitatea dintr-un restaurant, avnd n vedere urmtoarele aspecte: - un osptar deservete mai multe mese; - mesele pot fi rezervate pe diverse intervale orare; - meniurile au pre fix, cunoscut; Se cere situaia ncasrilor zilnice pe fiecare mas i pe un osptar.

BILET NR . 30 - Cabinet medical


Definii clase i obiecte pentru informatizarea activitii dintr-un cabinet medical, avnd n vedere urmtoarele aspecte: - un medic are n ngrijire mai muli pacieni; - un pacient poate suferi de mai multe boli; - o boal are asociate diferite medicamente. S se elibereze reeta pentru un pacient, specificndu-se i medicul care a eliberat-o

BILET NR . 31 - Cub
S se defineasc clasa Cub pentru lucru cu masive tridimensionale, coninnd: - numrul de matrici din componena cubului ; - elementele memorate n matrici i un vector de pointeri la matrici; - constructori de clas pentru obinerea unui obiect iniializat cu zero: Cub( int, int, int) prelund datele dintr-un masiv tridimensional clasic ( ex. double x[3][2][4] ); - destructor - Suprancrcri de operatori: [ ] pentru a permite adresarea unui element sub forma m[i][j][k]; +,-,*, / pentru operaii dintre cuburi cu dimensiuni adecvate, sau dintre cuburi i numere; << i >> pentru operaii de intrare - ieire la nivel de obiect; - funciile: unu() pentru umplerea unui cub cu toate elementele 1. max() pentru determinarea elementului maxim dintr-un cub.

BILET NR . 32 - Produs
S se construiasc clasa Produs cu urmtoarele cmpuri private: codProdus: ir de caractere de lungime fix; denumire: ir de caractere de lungime fix; pre: numr cu zecimale; cantitate: numr ntreg Pentru clasa Produs s se defineasc: un constructor cu parametri care s permit iniializarea tuturor cmpurilor clasei; functii de acces (citire / scriere) pentru cmpurile clasei

operator<< pentru afiarea la consol.


S se testeze clasa Produs printr -un program principal n care se declar un vector de 3 obiecte produs i s se afi eze la consol elementele vectorului folosind operator <<. S se adauge n clasa Produs cmpul descriere ( ir de caractere de lungime variabil, alocat dinamic), s se opereze toate modificrile necesare n interiorul clasei i s se testeze printr -o o secven de forma: Produs p7; { Produs p8 = p7, p9; p9 = p7; } cout << p7; S se scrie i s se testeze func ia SalvareProdus(Produs p, char* numeFi ier) care s realizeze salvarea cte unui obiect Produs, prin adugare ntr -un fi ier text. S se defineasc clasa CosCumparaturi care s con in: cmpul produse (vector de dimensiune fix); cmpul numarProduse (ntreg) reprezentnd numrul de produse ncrcate n vector; funcie membru Total(), care s returneze valoarea total a coului; operator+ pentru adugarea unui produs n coul de cumprturi. S se testeze clasa CosCumparaturi n programul principal. S se implementeze o clas Vector care s permit stocarea i afi area unui numr variabil de produse (alocare dinamic). S se modifice clasa CosCumprturi pentru a utiliza clasa Vector pentru stocarea produselor. S se transforme clasa Vector ntr -o clas template. S se testeze clasa n programul principal pentru tipurile Produs i Serviciu (int Cod, char Denumire[50]).

BILET NR . 33 - Student
S se construiasc clasa Student cu urmtoarele cmpuri private: matricolStudent: ir de caractere de lungime fix; nume: ir de caractere de lungime fix; medie: numr cu zecimale; an: numr ntreg. Pentru clasa Student s se defineasc: un constructor cu parametri care s permit iniializarea tuturor cmpurilor clasei; funcii de acces (citire / scriere) pentru cmpurile clasei operator << pentru afiarea la consol. S se testeze clasa Student printr-un program principal n care se declar un vector de 3 studen i i s se afi eze la consol elementele vectorului folosind operator <<. S se adauge n clasa Student cmpul Competente ( ir de caractere de lungime variabil, alocat dinamic) i s se implementeze toate modificrile necesare n interiorul clasei i s se testeze cu o secven de forma: Student s7; { Student s8 = s7, s9; s9 = s7; } cout << s7; S se scrie i s se testeze func ia SalvareStudent(Student s, char* numeFi ier) care s realizeze salvarea cte unui obiect Student, prin adugare ntr -un fi ier text. S se defineasc clasa Grupa care s con in: cmpul studenti (vector de dimensiune fix); cmpul numarStudenti (ntreg) reprezentnd numrul de studeni ncrcai n vector; funcie membru Medie() care s returneze media general a grupei; operator+ pentru adugarea unui student n grup. S se testeze clasa Grupa n programul principal. S se implementeze o clas Vector care s permit stocarea i afi area unui numr variabil de studen i (alocare dinamic). S se modifice clasa Grupa pentru a utiliza clasa Vector pentru stocarea obiectelor Student. S se transforme clasa Vector ntr -o clas template. S se testeze clasa n programul principal pentru tipurile Student i Persoana (int Cod, char Nume[50]).

S se construiasc clasa Document cu urmtoarele cmpuri private: codDocument: ir de caractere de lungime fix; titlu: ir de caractere de lungime fix; numarPagini: numr ntreg. Pentru clasa Document s se defineasc: un constructor cu parametri care s permit iniializarea tuturor cmpurilor clasei; funcii de acces (citire / scriere) pentru cmpurile clasei operator<< pentru afiarea la consol. S se testeze clasa Document printr-un program principal n care se declar un vector de 3 obiecte document i s se afi eze la consol elementele vectorului folosind operator<<. S se adauge n clasa Document cmpul descriere ( ir de caractere de lungime variabil, alocat dinamic), s se implementeze toate modificrile necesare n interiorul clasei i s se testeze printr-o secven de forma: Document d7; { Document d8 = d7, d9; d9 = d7; } cout << d7; S se scrie i s se testeze func ia SalvareDocument(Document d, char* numeFi ier) care s realizeze salvarea cte unui obiect Document, prin adugare ntr -un fi ier text. S se defineasc clasa Dosar care s con in: cmpul documente (vector de dimensiune fix); cmpul numarDocumente (ntreg) reprezentnd numrul de documente ncrcate n vector; funcie membru TotalPagini() care s returneze numrul total de pagini din dosar; operator+ pentru adugarea unui document n dosar. S se testeze clasa Dosar n programul principal. S se implementeze o clas Vector care s permit stocarea i afi area unui numr variabil de documente (alocare dinamic). S se modifice clasa Dosar pentru a utiliza clasa Vector pentru stocarea obiectelor Document. S se transforme clasa Vector ntr -o clas template. S se testeze clasa n programul principal pentru tipurile Document i Declaratie(int Cod, char Denumire[50]).

BILET NR . 34 - Document

BILET NR . 35 - Angajat
S se construiasc clasa Angajat cu urmtoarele cmpuri private: codAngajat: ir de caractere de lungime fix; nume: ir de caractere de lungime fix; salariu: numr cu zecimale; Pentru clasa Angajat s se defineasc: un constructor cu parametri care s permit iniializarea tuturor cmpurilor clasei; funcii de acces (citire / scriere) pentru cmpurile clasei S se testeze clasa Angajat printr-un program principal n care se declare un vector de 3 obiecte angajat i s se afi eze la consol elementele vectorului folosind operatorul << . S se adauge n clasa Angajat cmpul descriere ( ir de caractere de lungime variabil, alocat dinamic), s se implementeze toate modificrile necesare n interiorul clasei i s se testeze adugnd o secven de forma: Angajat a7; { Angajat a8 = a7, a9; a9 = a7; } cout << a7; S se scrie i s se testeze func ia SalvareAngajat(Angajat s, char* numeFiier) care s realizeze salvarea cte unui obiect Angajat, prin adugare ntr -un fi ier text. S se defineasc clasa Echipa care s con in: cmpul angajati (vector de dimensiune fix); cmpul numarAngajati (ntreg) reprezentnd numrul de studeni ncrcai n vector; funcie membru FondSalarii() care s returneze suma salariilor angajailor din echip; operator+ pentru adugarea unui angajat n echip. S se testeze clasa Echipa n programul principal. S se implementeze o clas Vector care s permit stocarea i afi area unui numr variabil de angaja i (alocare dinamic). S se modifice clasa Echipa pentru a utiliza clasa Vector pentru stocarea obiectelor Angajat. S se transforme clasa Vector ntr -o clas template. S se testeze clasa n programul principal pentru tipurile Angajat i Persoana (int Cod, char Nume[50]).

operator<< pentru afiarea la consol.

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