Proiecte-POO-2015-2016

download Proiecte-POO-2015-2016

of 19

Transcript of Proiecte-POO-2015-2016

  • 7/25/2019 Proiecte-POO-2015-2016

    1/19

    Programare orientata pe obiecte - Proiecte

    Anul universitar 2015 - 2016

    Structura proiectului

    Dosarul proiectul la disciplina Programare orientata pe obiecte trebuie sa continaurmatoarele elemente:

    1. Pagina de titlu

    2. Descrierea temei, numarul temei.

    3. Pagina de cuprins

    4. Capitolul 1: Introducere

    5. Capitolul 2: Analiza cerintelor

    6. Capitolul 3: Proiectarea aplicatiei7. Capitolul 4: Aspecte teoretice utilizate

    8. Capitolul 5: Codul sursa si metoda de implementare

    9. Capitolul 5: Testarea aplicatiei si studii asupra rezultatelor, tratarea erorilor, sugestiimodificare enunt.

    10.Capitolul 6: Concluzii

    11.Referinte bibliografice

    Pagina de titlu Contine:

    - titlul Proiect la disciplina Programare orientata pe obiecte- Anul universitar 2015/2016- numele si grupa studentului- sectia

    - numele coordonatorului

  • 7/25/2019 Proiecte-POO-2015-2016

    2/19

    Copierea proiectului in proportie mai mare de 30% conduce la anularea intregului punctaj

    ( proiect) de la seminar.

    Conditii realizare proiect:

    proiectul reprezinta o aplicatie executabila care testeaza conceptele C++ implementate; proiectul trebuie sa ruleze si sa nu genereze exceptii de executie ;

    codul sursa al proiectul trebuie sa fie scris fara erori de compilare;

    proiectul este dezvoltat in medii de programare specifice;

    proiectul se realizeaza individual;

    NU se folosesc variabile globale sau functii globale;

    toate entitatile folosite au asociata o clasa; NU exista clase generice ce definesc functii/metode

    fara o legatura logica cu entitatea definita de clasa;

    forma finala a proiectele se preda in ultima saptamana;

    proiectul se realizeaza pe durata semestrului fiind stabilite la seminar conditii si termene

    intermediare ce trebuie respectate; fiecare faza intermdiara este evaluata si reprezinta pondere

    din nota finala a proiectului; predarea proiectului doar la final se evalueaza cu 40%;

    la seminar coordonatorul poate stabili o alta tema insa conditiile generale raman valabile.

    Cerinte proiect - faza 1

    Termenele de predare sunt stabilite la laborator

    Definirea a minim 3 clase care au legatura cu cerinta proiectului

    In solutie trebuie sa existe minin o clasa ce defineste un camp static si minim o

    clasa ce defineste un camp static

    Toate atributele se definesc pe zona privata a clasei

    Fiecare clasa contine minim 2 metode generice de prelucrare/afisare a atributelor

    Cerinte proiect - faza 2

    Extinderea claselor definite in fazele anterioare prin adaugarea de atribute noi

    (necesare in aceasta faza) se face doar prin derivare si NU prin modificareaclaselor existente

    Se implementeaza minim o derivare a unei clase existente

  • 7/25/2019 Proiecte-POO-2015-2016

    3/19

    1. Automat bancar (1 persoana)

    Automatele bancare sunt sisteme automate ce realizeaza servicii bancare catre populatie.

    Acestea pot accepta tranzactii bancare pentru o anumita banca, posesoare a automatului.

    Meniul automatului trebuie sa permita principalele operatii efectuate in timpul unei sesiunide lucru:

    deschiderea unei sesiuni de lucru;

    inchiderea sesiunii de lucru;

    efectuarea principalelor tranzactii:

    a. extragerea unei sume de bani din contul curent;

    b. afisarea soldului curent;

    c. transferul unei sume de bani din contul curent intr-un alt cont al clientului de

    la aceeasi banca.

    Deschiderea unei sesiuni de lucru incepe prin introducerea unui card in automat si

    verificarea validitatii informatiilor de pe card.

    Un card este emis de o anumita banca si este asociat unui client al bancii si unui anumitcont al clientului deschis la banca respectiva. El memoreaza informatiile aferente clientului:

    numele si prenumele clientului; pinul; codul contului asociat cardului.

    La selectarea meniului iesire, se va inchide sesiunea de lucru, iar automatul va elibera

    cardul utilizatorului.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    2. Agentie de turism (1 persoana)

    In cadrul unei agentii de turism, se cunosc urmatoarele informatii despre statiunile in carese ofera sejururi:

    nume statiune;

    perioada de sejur, specificata prin data de nceput si sfrsit a sejurului;Informatiile despre clienti sunt urmatoarele:

    1. nume si prenume;

    2. numar si serie carte de identitate;

    3. adresa;

    4. numar de telefon;

    5. perioada de sejur dorita;

    6. statiunea dorita;

    Operatii care trebuie efectuate sunt:

    1. introducere date;

    2. afisare statiuni sortate dupa nume;

    3. adaugare a unei noi statiuni cu perioadele aferente la data curenta;

    4. adaugare a unei noi perioade la o statiune;

    5. afisare statiuni care au bilete ntr-o anumita perioada sortate dupa nume (lista);

  • 7/25/2019 Proiecte-POO-2015-2016

    4/19

  • 7/25/2019 Proiecte-POO-2015-2016

    5/19

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    5. Administrator asociatie de proprietari (1 persoana)

    Se cunosc informatii despre persoanele ce apartin de o anumita asociatie de proprietari si

    despre apartamentele in care locuiesc acestia. Se cere implementarea unui program care

    asista administratorul asociatiei pentru repartizarea cheltuielilor lunare pe blocuri, scari de

    bloc, respectiv apartamente si alte situatii curente(de exemplu consumul mediu de apa rece

    per persoana).

    Operatii care se pot efectua sunt urmatoarele:

    1. Introducere date noi ;

    2. Sortarea locatarilor dupa nume;

    3. Adaugare a unui nou locatar;4. Cautare unei persoane;

    5. Afisare apartamentelor in care locuiesc mai mult de 5 persoane;

    6. Afisarea tabelelor cu intretinerile pentru o anumita luna;

    7. Afisare apartamentelor ce au restanta la plata intretinerii mai mare ca o suma data;

    8. Clasarea locatarilor in rai platnici, respectiv buni platnici.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    6. Salariati universitate (1 persoana)

    Se cunosc informatii complete despre salariatii universitatii. Sa se implementeze o aplicatiecare sa poata furniza mai multe situatii:

    1. Generarea fluturasilor cu venitul lunar;

    2. Tabel cu salariatii ce au un salariu mai mic decat 4 milioane lei;

    3. Tabel cu persoanele ce au implinit sau implinesc varsta pensionarii n anul curent;4. Tabel cu persoanele ce au de achitat rate lunare si suma totala;

    5. Tabel cu cadrele didactice de la facultatea de automatica-calculatoare;

    6. Tabel cu persoanele ce au plecat de la universitate in ultimii 5 ani.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;Posibilitatea de stocare si restaurare a datelor;

    7. Depozit materiale (1 persoana)

    Fisierul binar depozit.dat contine informatii despre materialele existente ntr-un depozit.Sa se dezvolte un program care furnizeaza urmatoarele situatii:

  • 7/25/2019 Proiecte-POO-2015-2016

    6/19

    inventar complet; tabel cu materialele a caror cantitateeste cel mult 4; tabel cu materialele epuizate; tabel cu materialelefoarte scumpe (pretUnitar>10000). Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    Tratarea exceptiilor;Dialogul cu utilizatorul prin intermediul unei interfete grafice.

    8. Admitere facultate (1 persoana)

    Pentru fiecare concurent care se prezinta la admitere se cunosc urmatoarele informatii:

    Nume, prenume, data nasterii, nota examen Bacalaureat;Fiecare concurent sustine doua

    probe, pentru fiecare din cele doua probe,se acorda trei note ale celor trei corectori;Sa se implementeze urmatoarele operatii:

    1. calcul nota la fiecare proba;

    2. sortare concurenti dupa nume;

    3. sortare concurenti dupa medie;

    4. separarea n 2 liste (admisi, respinsi);5. calcul medie;

    6. determinarea numarului de studenti admisi si respinsi;7. rezolvarea contestatiilor:

    8. modificarea notelor la candidatii carora li s-au rezolvat contestatiile;9. trecerea studentilor cu o medie mai mare sau egala cu cea a ultimului admis n lista

    cu studentii admisi pe pozitia corespunzatoare;10.schimbarea pozitiei fiecarui student admis, caruia dupa contestatie i s-a modificat

    media.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;Posibilitatea de stocare si restaurare a datelor;

    .

    9. Pacientii unui medic de familie (1 persoana)

    Cunoscndu-se informatii despre pacientii unui medic, despre bolile diagnosticate de catreacesta si medicamentele prescrise, sa se scrie un program care va ajuta medicul ndesfasurarea activitatii sale.Operatii cerute:

    1. introducerea unui nou pacient;

    2. afisarea tuturor pacientilor;

    3. clasarea pacientilor in pacientii varstnici, respectiv tineri;

    4.determinarea numarului de pacienti care sufera de o anumita boala;5. afisarea pacientilor carora li s-a prescris acelasi tratament;

    6. afisarea pacientilor cu un numar de retete/luna mai mare decat un numar dat;

    7. determinarea numarului de medicamente prescrise de un anumit tip dat;

    8. determinarea pacientilor in functie de domeniul de activitate.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

  • 7/25/2019 Proiecte-POO-2015-2016

    7/19

    10. Evaluare studenti (1 persoana)

    Se cunosc informatii despre studentii unui an de studiu si notele acestora la sfarsitul unui an

    de studiu.

    Sa se scrie o aplicatie care asista secretariatul decanatului in evidenta si activitatea sa:1. afisarea tuturor studentilor;2. clasarea studentilor absolventi, respectiv repetentii;

    3. determinarea numarului de studenti care au media mai mare daca o medie data;

    4. ordonarea studentilor dupa medie;

    5.

    afisarea studentilor bursieri;6. clasarea studentilor dupa numarul de restante;

    7. ordonarea studentilor dupa nota de la o anumita materie.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    11.Gestiunea grila programe televiziune (2 persoane)

    Se considera o firma de televiziune prin cablu care ofera un numar N de posturi.

    Fiecare canal de televiziune are o anumita frecventa pe care este receptionat, anumite zileale saptamanii alocate unei eventuale revizii, un program pentru fiecare zi a saptamanii,

    fiecare emisiune din cadrul programului fiind caracterizata prin :

    1. genul emisiunii (de exemplu divertisment, cultural etc.) ;

    2. publicul inta (tinerii sub 18 ani de exemplu) ;3. ora difuzrii ;4. durata ;5. tipul emisiunii (live sau nregistrata).

    Sa se realizeze o aplicatie care studiaza programul fiecarui canal in parte si determina in

    cadrul unei saptamanii de emisie:

    1. tipul acestuia (de exemplu cultural daca majoritatea emisiunilor au un astfel decaracter) ;

    2. durata medie a emisiunilor ;3. numarul de emisiuni live, respectiv numarul de emisiuni inregistrate ;

    4. publicul tinta al respectivului post de televiziune ;

    5. determinarea orei preponderente pentru un anumit gen de emisiune.Pe baza acestui studiu realizat la nivelul fiecarui post de televiziune, aplicatia va genera o

    situatie globala privind tipul celor N canale difuzate de respective firma de cablu,

    acoperirea publicului privit prin perspectiva publicului declarat ca tinta.

    Cerinte de implementare:

  • 7/25/2019 Proiecte-POO-2015-2016

    8/19

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    12. Agenda personala (1 persoana)

    Se cere un program care asista o persoana n memorarea unor informatii despre persoanelecunoscute si activitatile zilnice si semnalarea zilnica a acestor activitati si a unor statisticiperiodice. Program de gestiune a evenimentelor personale (intalniri, discutii, sedinte,

    onomastici, date limita pentru diverse actiuni). Programul va permite inregistrarea datei siorei unui anumit eveniment care va avea loc in viitor, cat si a unei descrieri a sa. La cerereautilizatorului, acesta va fi informat de evenimentele care sunt planficate in ziua curenta sau

    in saptamana curenta. Utilizatorul are posibilitatea de a actualiza sau sterge un anumit

    eveniment. Evenimentele trecute sunt salvate intr-un fisier istoric.Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    13. Evidenta autovehicule (1 persoana)

    Sa se realizeze un proiect pentru evidenta autovehiculelor inmatriculate in circulatie. Pentru

    fiecare autoturism se considera urmatoarele informatii:

    1. tipul autovehiculului;

    2.

    marca;3. datele tehnice (cilindree, etc.); alte caracteristici (culoare, etc.);4. numarul de inmatriculare; data inmatricularii; proprietarul;5. data ultimei revizii tehnice;

    Operatii cerute:

    1. actualizare autoturisme;2. inmatricularea unui nou autoturism;3. modificare caracteristici autoturism inmatriculat;

    4. cautare autoturism dupa numarul de inmatriculare;

    5. cautare autoturism dupa nume proprietar;6. revizie autoturism; radiere autoturism;

    7. afisarea autoturismelor inmatriculate dupa o anumita data;

    8. afisarea autoturismelor a caror ultima revizie este inainte de o anumita data9. introdusa de la tastatura;

    10.sortarea autoturismelor dupa tipul autovehiculului;

    11.alocarea unui numar de inmatriculare astfel incat sa nu avem doua autoturisme cunumere identice;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

  • 7/25/2019 Proiecte-POO-2015-2016

    9/19

    14. Evidenta angajati (1 persoana)

    Se cere realizarea unui program pentru evidenta angajatilor unei institutii: numeleangajatului, datele personale, data angajarii, postul ocupat, si calculul salariului pe baza

    informatiilor despre salarizare:1. salariul de baza;2. sporul de vechime (in functie de vechimea in munca) si sporurile de periculozitate,

    de stress, s.a. (anumite procente din salariul de baza);3. salariul brut (salariul de baza plus sporurile);

    4.

    impozitul (trepte de impozitare);5. contributia pentru asigurarile de sanatate, cea pentru ajutor somaj si cea pentru

    fondul de pensii (anumite procente din salariul brut), cotizatia la sindicat, etc.;6. salariul net (calculat scazind din salariul brut impozitul si celelalte contributii).

    Programul va permite efectuarea de operatii de actualizare a acestor date: noi angajari,

    concedieri, mariri/micsorari de salarii, modificarea procentelor pentru diversele sporuri sicontributii, precum si bilanturi totale de sfirsit de luna: total salarii brut/net, total impozite,etc.

    Cerinte de implementare:

    Posibilitatea de stocare si restaurare a datelor;

    15. Curse aeriene (1 persoana)

    Se cere realizarea unui proiect pentru o firma care face rezervari de locuri pentru curse

    aeriene.

    Pentru fiecare rezervare se considera informatiile:

    1. numele persoanei ce face rezervarea;

    2. locul decolarii;

    3. data rezervarii;

    4. destinatia;

    5. posibile escale;

    6. numele firmei

    7. aeriene la care se8. face rezervarea;

    9. pretul biletului;

    10.tipul de bilet (dus-intors sau numai dus);

    11.clasa la care se face rezervarea (locuri la clasa I si cea turist);

    Sa se implementeze urmatoarele operatii:

    1. actualizare rezervari;

  • 7/25/2019 Proiecte-POO-2015-2016

    10/19

    2. cautarea dupa un anumit client ce are rezervare;

    3. modificare rezervare pentru un anumit client;

    4. alcatuirii unui itinerar (schimbare de avion pentru a ajunge la destinatia dorita);

    5. afisarea tuturor rezervarilor la o anumita companie aeriana;6. afisarea tuturor rezervarilor la o anumita cursa (cursa se va specifica prin locul de

    plecare si data);

    7. afisarea tuturor rezervarilor pe numele unei anumite persoane;

    8. stergerea unei anumite rezervarii identificata prin numele persoanei si prin data

    rezervarii;9. posibilitatea alcatuirii unui traseu (schimbare de avion pentru a ajunge la destinatia

    dorita), curse aeriene cu avioane apartinind la firme aeriene diferite, si cu preturi

    diferite.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    .

    16. Evidenta locuri cazare (1 persoana)

    Sa se realizeze un program care sa puna in evidenta administrarea locurilor intr-un hotel.

    Despre un hotel se cunosc urmatoarele informatii: numarul de camere; pentru fiecare

    camera numarul de paturi; numarul de apartamente; numele persoanei care locuieste intr-o

    anumita camera sau are rezervare;

    perioada pe care este ocupata o camera; Operatii cerute:1. inchiriere -> introducere de noi date;

    2. modificare -> modificarea datelor din fisier pentru o anumita camera;

    3. stergere -> stergerea unei inregistrari datorata eliberarii unei camere;

    4. listare -> afisarea datelor existente;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    17. Campionat de fotbal (1 persoana)

    Sa se dezvolte o aplicatie care sa simuleze desfasurarea unui campionat de fotbal. Se cunoscurmatoarele informatii:

    numele campionatului; numarul de echipe inscrise in campionat; numarul de etape jucate;Pentru fiecare echipa inscrisa se cunosc:

    1. numele echipei;

    2. numele antrenorului;

    3. numele jucatorilor;4. valoarea fiecarui jucator;

  • 7/25/2019 Proiecte-POO-2015-2016

    11/19

    5. numar de jocuri sustinute;6. numar de victorii; numar de infrangerii;

    7. numar de goluri primite;

    8. numar de goluri inscrise;

    Operatii:

    1. adaugarea unui nou jucator;

    2. stergerea unui jucator;

    3. schimbarea valorii unui anumit jucator;4. afisarea, dupa fiecare etapa a campionatului, a clasamentul in functie de numarul de

    puncte;

    5. determinarea locului ocupat de o anumita echipa;

    6. realizarea unui clasament luand in calcul valorile intrinseci ale jucatorilor echipelor;7. compararea intre clasamentul determinat la punctul anterior si cel real, si generarea

    unui raport;8. determinarea echipelor ce au primit un numar de goluri mai mare decat un intreg

    pozitiv introdus de la tastatura;9. determinarea echipelor ce au marcat un numar de goluri mai mare decat un intreg

    pozitiv introdus de la tastatura;10.determinarea echipelor ce au un numar de puncte mai mic decat un intreg pozitiv

    introdus de la tastatura;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    18. Oficiul starii civile (1 persoana)

    Se considera cunoscute urmatoarele informatii din arhiva seviciului de stare civila a

    primariei unei localitati:

    despre nasteri:

    nume si prenume mama; nume si prenume tata; nume si prenume copil;

    data nasterii;despre casatorii:

    nume si prenume sot; nume si prenume sotie; data casatoriei;despre divorturi:

    nume si prenume sot; nume si prenume sotie; data divortului.

    Se presupune ca n cazul casatoriilor si al divorturilor, sotii nu si modifica numele avutenainte, iar in cazul nasterilor, copii vor primi numele tatalui.Sa se scrie un program care sa permita introducerea datelor persoanelor, memorarea lor pe

    un suport persistent si care sa poata raspunde la urmatoarele ntrebari:1. starea civila a unei anumite persoane la o anumita data;

    2. descendentii unei persoane specificate;

  • 7/25/2019 Proiecte-POO-2015-2016

    12/19

    3. daca ntre doua persoane specificate exista un grad de rudenie, iar n caz afirmativ,care este acela(se vor considera doar urma toarele grade de rudenie: parinte, fiu,frate, bunic, nepot, var primar, cumnat, frate vitreg,parinte vitreg);

    4. construirea arborelui genealogic pentru o anumit persoana.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    19. Agent imobiliar (1 persoana)

    Sa se dezvolte o aplicatie pentru o agentie imobiliara. Agentia poate sa fie intermediara

    in cazul unei tranzactii, pentru aceasta percepand un anumit comision in procente din

    nivelul tranzactiei sau poate cumpara ea insasi un imobil sau un teren in scopul

    revalorificarii. Tranzactia poate fi realizata intre doua persoane juridice si atunci comisionul

    creste cu 10%, intre doua persoane fizice sau intre o persoana fizica si una juridica. Printranzactie intelegem o operatiune de vanzare-cumparare sau de nchiriere. Totodata agentiaimobiliara poate realiza pentru un client atat o operatie de vanzare, cat si una de cumparare

    in acelasi timp (de exemplu daca clientul doreste un up-grade al casei) ; in acest cazclientul beneficiaza de o reducere de 30%.

    Pentru clientii fideli (cei care au mai apelat cel putin odata la serviciile agentii) se face o

    reducere de 50%. Programul va mai permite introducerea de cereri/oferte (de exemplu

    vanzarea sau inchirierea unui apartament cu un anumit numar de camere si aflat intr-o

    anumita zona). Pentru cereri se da un pret maxim si pentru oferte se da un pret minim. O

    alta cerinta este mperecherea cererilor si ofertelor.Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    20. Cautare in cartea de telefon (1 persoana)

    Despre abonatii telefonici se cunosc urmatoarele informatii:

    nume abonat;

    numar telefon; adresa

    (strada, bloc,...).

    Se cere realizarea urmatoarelor operatii: creare; listare; modificare;

    stergere; gasirea unui numelui unui abonat dupa telefon si invers.

    Cerinte de implementare:Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    Tratarea exceptiilor;

    Dialogul cu utilizatorul prin intermediul unei interfete grafice.

  • 7/25/2019 Proiecte-POO-2015-2016

    13/19

    21. Evidenta furnizori societate comerciala (1 persoana)

    Despre un furnizor al unei societati comerciale se cunosc urmatoarele informatii:

    denumire furnizor; cod fiscal; lista produselor oferite de acel furnizor; adresafurnizorului; persoana de contact; telefon;

    Operatii cerute:1. actualizare lista furnizorii;2. adaugarea unui nou furnizor;

    3. stergere furnizor dupa denumire;

    4. cautare furnizor dupa cod fiscal;

    5. adaugare produs sau produse oferite de un anumit furnizor;

    6. stergere produs sau produse oferite de un anumit furnizor;7. sortare furnizori dupa denumire;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    22. Gestiunea parcului de masini si a curselor pentru o firma de distributie (1

    persoana) Sa se realizeze un proiect pentru gestiunea parcului de masini si a curselor

    pentru o firma de distributie. Pentru fiecare autovehicul se cunosc urmatoarele informatii:

    tipul autovehiculului; numarul de inmatriculare; numarul de kilometri parcursi; numelesoferului/soferilor;

    Pentru fiecare cursa realizata se cunosc informatiile care se refera la masina cu care

    aceasta cursa a fost sau va fi realizata, cantitatea de combustibil consumata si traseul

    corespunzator cursei.

    Operatii cerute:

    1. alocarea masinilor astfel incat sa se realizeze in mod optim toate cursele;

    2. realizarea unei revizii pentru fiecare masina dupa parcurgerea unui numar dekilometri;

    3. modificare treaseului pentru fiecare cursa astfel incat sa se minimize numarul4. de curse;

    5. cautare autoturism dupa numarul de inmatriculare;6. cautare autoturism dupa numele soferului;

  • 7/25/2019 Proiecte-POO-2015-2016

    14/19

    7. afisarea autoturismelor cu un numar de kilometri mai mare decat o valoarespecificata;

    8. sortarea autoturismelor dupa tipul autovehiculului;

    9. alocarea soferilor astfel incat sa nu avem doua autoturisme cu acelasi sofer;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    23. Administrator cladire de birouri (1 persoana)

    Se cunosc informatii despre firmele care au inchiriate birourile din cadrul unei cladiri de

    birouri si despre tipul de contracte existente intre aceste firme si proprietarul cladirii. Se

    cere implementarea unui program care asista administratorul cladirii pentru repartizarea

    cheltuielilor lunare pentru fiecare firma in functie de suprafata biroului ocupat de fiecare

    firma si in functie de numarul de angajati ai acesteia.

    Operatii care se pot efectua sunt urmatoarele:

    1. introducerea datelor;

    2. afisare firmelor sortate dupa nume;

    3. semnarea unei nou contract;

    4. rezilierea unui contract existent;

    5. afisare firmelor care au mai mult de 5 angajati;

    6. afisarea tabelelor cu cheltuielile pentru o anumita luna;

    7. afisare firmelor ce au restanta la plata cheltuielilor mai mare ca o suma data;

    8. clasarea firmelor in rau platnice, respectiv buni platnici.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    24. Gestiunea livrarilor la domiciliu pentru un depozit materiale (1 persoana)

    Fisierul binar comenzi.dat contine informatii despre comenzile realizate pentru un depozitde materiale de constructie. Sa se dezvolte un program care sa permita livrarile la domiciliu

    a materialelor comandate: alocarea masinilor astfel incat sa se realizeze in mod optim toate

    livrarile; modificare treaseului pentru fiecare cursa astfel incat sa se minimize numarul

    de curse necesare pentru a livra toate materialele;

    cautare unei comenzi dupa adresa de livrare;

    cautare unui material in cadrul tuturor comenzilor;

    afisarea comenzilor a caror valoare este mai mare decat o valoarespecificata; sortarea comenzilor dupa valoarea acestora; realizarea cu prioritate alivrarilor catre clientii fideli; Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    Tratarea exceptiilor;

    Dialogul cu utilizatorul prin intermediul unei interfete grafice.

  • 7/25/2019 Proiecte-POO-2015-2016

    15/19

  • 7/25/2019 Proiecte-POO-2015-2016

    16/19

    1. numele echipei;2. valoarea estimata a echipei;

    3. numar de victorii, de egaluri si de infrangerii;

    Operatii:

    1. adaugarea unui nou campionat;

    2. retrogradarea unei echipe;3. promovarea unei echipe;

    4. afisarea, dupa fiecare etapa a campionatului, a clasamentul in functie de5. numarul de puncte;6. determinarea locului ocupat de o anumita echipa;

    7. realizarea unui clasament luand in calcul valorile estimate ale echipelor;

    8. compararea intre clasamentul determinat la punctul anterior si cel real, si generareaunui raport;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    28. Firma de protectie si paza (1 persoana)

    In cadrul unei agentii de protectie si paza, se cunosc urmatoarele informatii despre

    locatiile, respective persoanele pentru care se ofera servicii de paza si protectie:

    nume societate; adresa competa; persoanele cu parola si cod pentru operatiile de

    armare/dezarmare; tipul de contract; distanta pana la cea mai apropiata celula; istoricul

    interventiilor la respectiva adresa.Informatiile despre clienti sunt urmatoarele:

    1. nume si prenume;

    2. numar si serie carte de identitate;

    3. adresa;

    4. numar de telefon;5. functia in cadrul societatii;

    Operatii cerute sunt:1. introducere date;

    2. afisare locatiilor sortate dupa nume;3. adaugare a unei noi locatii impreuna cu toate datele aferente persoanelor care

    utilizeaza noua locatie;

    4. afisare locatiilor care au sediul intr-un anumit perimetru (de exemplu toate locatiiledin cartierul 1 Mai);

    5. afisare persoanelor care au avut acces, in timp, la datele corespunzatoare unei

    locatii;6. simularea unei actiuni la o locatie specificata cu determinarea timpilor de reactie;

    7. simularea unei actiuni la fiecare din locatiile protejate cu determinarea timpilor de

    reactie;

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

  • 7/25/2019 Proiecte-POO-2015-2016

    17/19

    29. Gestiunea rezervarilor pentru un hotel (1 persoana)

    Sa se realizeze un program care sa permita gestiunea rezervarilor pentru un hotel. Despre

    hotel se cunosc urmatoarele informatii:

    nume hotel; categoria; numarul de camere; pentru fiecare camera numarul de paturi;

    numarul de apartamente; pretul pentru fiecare tip de camera (sigle, double sau apartament).Despre o persoana care doreste sa rezerva o camera se cunosc:

    numele persoanei care doreste o rezervare;

    perioada pentru care doreste rezervarea;

    tipul rezervarii.

    Operatii cerute:

    1. rezervarea -> introducere de noi date;

    2. modificare -> modificarea datelor din fisier pentru o anumita rezervare;

    3. anulare -> anularea unei rezervari;

    4. alocare-> alocarea unei camere libere conform cu dorintele clientului;

    5. listare -> afisarea datelor existente.

    Cerinte de implementare:

    Utilizarea claselor iterator pentru parcurgerea listelor;

    Posibilitatea de stocare si restaurare a datelor;

    30. Agenda telefonica

    S se realizeze un program care s asigure gestiunea unei cri cu abonaii telefonici ai uneiinstituii structurat pe faculti i birouri. Pentru fiecare abonat se vor defini urmtoarelecmpuri: nume, prenume, adresa, nr_telefon, nr_birou, adr_mail. Abonaii vor fi structuraipe faculti i birouri la care sunt angajai.

    La pornirea aplicaiei va fi afiat urmtorul meniu:1. Adugare abonat nou.2. tergere abonat.3. Cutare abonat dup nume sau nr_telefon ntr-un anumit birou sau de la o

    anumit facultate.4. Sortare abonai pe birouri / faculti dup nume.5. Mutare abonat de la o facultate la alta sau dintr-un birou n altul.6. Schimbare numr de telefon la un anumit abonat.7. Afiarea abonailor dintr-o facultate sau dintr-un birou.8. Salvare carte de telefoane n fiier.9. IeireAplicaia va fi implementat folosind clase ablon.

    31. Gestiune posta electronica

    S se realizeze un program care s asigure gestiunea unor adrese de mail dintr-ofirm. Firma este structurat pe departamente, iar n fiecare departament adresele vorconine urmtoarele cmpuri: nume, prenume, adr_mail, parola, domeniu, funcie, tip_cont,activa, ultima_accesare.

  • 7/25/2019 Proiecte-POO-2015-2016

    18/19

    La pornirea aplicaiei va fi afiat urmtorul meniu:1. ncrcare din fiier a adreselor de mail ale firmei, din toate departamentele.2. Adugare adres mail pentru un nou angajat.3. Inactivare adrese nefolosite de mai mult de 3 luni.4. tergere adrese mail inactive.

    5.

    Sortare adrese mail dup nume i prenume angajat de la un anumit departament.6. Modificare parol la o anumit adres de mail.7. Adugare departament nou.8. Salvare adrese de mail n fiier, pe departamente.9. IeireAplicaia va fi implementat folosind claseablon.

    32. Magazin componente PC

    S se realizeze un program care s asigure gestiunea unui magazin de componente PC(procesoare, plci de baz, memorii, hdd-uri etc.). Fiecare component conine urmtoarelecmpuri: cod_produs, pre, marca, an_fabricaie, garanie, productor, ar_provenien,stoc(0dac nu se afl n stoc, >0 cte sunt n stoc).

    La pornirea aplicaiei va fi afiat urmtorul meniu:1. ncrcare din fiier a componentelor din magazin.2. Adugare produs nou la o anumit component introdus de la tastatur.3. Vnzare produs (stoc = stoc - 1).4. tergere anumit produs dup cod_produs.5. ncrcare stoc (refacerea stocului la un anumit produs, cutat n prealabil dup

    cod).6. S se calculeze totalul n lei pentru o anumit categorie (suma produselor

    stoc*pre de la o anumit component).7. Afiare pre pentru anumite produse cutate dup marc.

    8. Salvare componente n fiier.9. IeireAplicaia va fi implementat folosind clase ablon.

    33. Gestiunea angajatilor unei firme

    S se realizeze un program care s asigure gestionarea angajailor unei firme. Pentru unangajat se cunosc urmtoarele cmpuri: nume, prenume, vrst, adres, departament,funcie, salariu, zile_concediu.

    La pornirea aplicaiei se vor ncrca din fiier datele despre angajai, iar la fiecareangajat n parte luna, salarul i zilele de concediu rmase.

    Se va afia urmtorul meniu:1. Adugare angajat nou.2. tergere angajat cu toate informaiile corespunztoare acestuia.3. Adugare salariu i zile de concediu rmase ntr-o anumit lun citit de la

    tastatur, la un angajat citit.4. Afiare angajai ordonai:

    a. dup numeb. dup media salariului de pe toate lunile

  • 7/25/2019 Proiecte-POO-2015-2016

    19/19

    5. Afiare angajai cu zile de concediu rmase din cadrul unui departament.6. IeireAplicaia va fi implementat folosind clase ablon.

    34. Gestiunea unui supermarket

    S se realizeze un program care s asigure gestionarea unui supermarket cu diferite produse(alimentare, cosmetice, buturi).La pornirea aplicaiei se vor ncrca din fiier datele despre produse, iar la fiecare produs secunosc urmtoarele cmpuri: cod_produs, furnizor, unitate_msur, pre_furnizor, adaos,cantitate, termen_valabilitate.

    . Se va afia urmtorul meniu:1. Adugare produs.2. Cutare produs de la un anumit furnizor.3. tergere produse cu termen de valabilitate expirat.4. Vnzare produs (cantitate = cantitate 1)

    5.

    Calculare pre de vnzare pentru anumite produse (alimentare, cosmetice etc.).6. IeireAplicaia va fi implementat folosind clase ablon.