Sunteți pe pagina 1din 7

(2p)

Să se realizeze o aplicație Windows C# NET pentru gestionarea creditelor acordate de către o bancă.
Clasa Credit ( client, valoare credit, dobanda, data acordarii, perioada pentru care se acorda) dispune de
constructori și proprietăți pentru accesarea atributelor private. Un formular secundar activat din bara de
instrumente a aplicației permite citirea datelor pentru un obiect de tip Credit.

(1p)

Fereastra principală a aplicației afișează lista de credite într-un control de tip DataGridView și utilizează
formularul creat anterior pentru adăugarea de elemente noi. Obiectele create sunt stocate într-o
colecție standard. Pentru testarea rapidă, aplicația va inițializa lista de obiecte de tip Credit la pornire,
prin citirea valorilor dintr-un fișier text.

(2p)

Aplicația permite selecția unui Credit din listă și modificarea acestuia prin intermediul formularului
construit la primul punct. Se va implementa validarea datelor și afișarea erorilor prin intermediul unui
obiect ErrorProvider.

(2p)

Se va defini delegatul AlgoritmDesfasurator care va putea referi funcții care au ca parametru un obiect
de tip Credit și returnează un vector de obiecte decimal, reprezentând valoarea de plată din fiecare lună.

Se definește clasa Algoritmi care va conține două metode de calcul ce respectă prototipul delegatului și
implementează următoarele modalități de calcul pentru desfășurător:

· DesfasuratorRateDescrescătoare: valoarea creditului se împarte la numărul de luni; în fiecare lună


se va plăti valoarea calculată anterior și dobânda la suma rămasă de plată;

· DesfasuratorRateConstante: se calculează dobânda totală de plată; valoarea de plată pentru


fiecare lună se obține împărțind valoarea creditului adunată cu dobânda totală, la numărul de luni.

Se va completa clasa Credit pentru a gestiona o referință la un delegat AlgoritmDesfasurator și se va


adăuga metoda publică CalculDesfășurător care să apeleze metoda referită de către obiectul delegat.

În formularul de introducere / modificare se adaugă un control de tip ComboBox pentru selectarea


algoritmului de calcul pentru desfășurător.

(1p)

Aplicația permite tipărirea (print preview) planului de încasări lunare sub forma unui tabel cu
următoarele coloane: Luna, An, Valoare totală lunară de încasat, calculată conform desfășurătorului
fiecărui obiect credit).

(1p)

Implementați suportul pentru a permite utilizarea mecanismului de Clipboard pentru transferul de


credite între două instanțe ale aplicației.
(3p) Sa se realizeze aplicație Windows, de tip MDI, care să fie utilizată pentru a gestiona comenzile unei
pizzerii.

Se implementează clasa Topping pentru care se definesc atributele:

§ denumire – string, preț – float, cantitate – float, cod – int constant

Se implementează clasa ComandaPizza. Se definesc atributele:

§ nume – string, blat – string, durataRealizare – int;

· topping – vector/colecție de elemente de tip Topping

Pentru clasa ComandaPizza se definesc metodele:

· proprietăţi ce permit citirea pentru nume, durata si topping (indexer)

· DOAR constructor cu parametri;

· se supraîncarcă > si < pentru a compara 2 obiecte de tip ComandaPizza in funcție de costul total al
pizzei (de folosește metoda CalculCostPizza())

Metoda CalculCostPizza() va calcula costul total al produsului pe baza datelor din topping. Costul de baza
pentru orice tip de pizza, indiferent de topic, este definit printr-o valoare statica si constanta.

(2p) Sa se construiască un formular ce permite inițializarea unui obiect de tip ComandaPizza (tipul de
blat este selectat dintr-o mulțime data de maxim 4 valori). Formularul trebuie sa contina controale
vizuale simple. La nivelul aplicației formularul se activează prin meniul principal. Validarea inputului se
face prin blocuri try-catch cu afișare de MessageBox-uri si controale de validare.

(1p) Obiectele create prin intermediul formularului de la punctul anterior se salvează in aplicație intr-o
colecție generics la alegere .

La nivelul formularului principal, fisele sunt afișate prin intermediul unui control de tip TreeView fiind
grupate după tipul blatului (mulțime de maxim 4 valori definita si utilizata la punctul anterior).

(2p) Aplicația permite prin intermediul meniului principal, activarea opțiunii de citire a opțiunilor de
topping dintr-o baza de date. Numele bazei de date si locația ei se cer utilizatorului. Topping-ul este
afișat intr-un formular separat prin intermediul unui ListView cu checkbox-uri pe margine.

(1p) Se construiește un grafic care descrie vizual gradul de utilizare al unui tip de topping (aceasta se
alege din formular). Desenul are persistenta pe refresh (redimensionare, ascundere cu reafișare).
(3p) Sa se realizeze o aplicatie Windows care să fie utilizată pentru a gestiona referintele bibliografice.

Se defineste clasa Autor cu atributele private: nume (şir de caractere), grad_didactic (şir de caractere) si
marca (intreg constant). Pentru aceasta clasa se defineste constructor cu parametri si proprietati pentru
atributele private.

Se defineste clasa abstracta Publicatie cu atributele titlu (sir de caractere), pret (numar real) si cu
metoda abstracta genereazaReferinta() ce intoarce un sir de caractere si nu are argumente.

Se defineste clasa Carte ce este derivata din Publicatie. Clasa defineste atributul ISBN (sir de caractere
constant), o categorie (sir de caractere) si un vector/colectie de referinte Autor, autori in care se
salveaza autorii cartii. Pentru aceasta clasa se defineste constructor cu parametri. Metoda mostenita din
clasa de baza va returna un sir de forma Autor 1, Autor2, ... – Titlu, ISBN. Se supraincarca operatorul +
pentru a adauga un Autor la lista.

(1p) Sa se construiasca un formular ce permite initializarea unui obiect de tip Carte (categoria este
selectata dintr-o multime data de maxim 4 valori). Formularul trebuie sa contina controale vizuale
simple. La nivelul aplicatiei, formularul se activeaza prin meniul principal (Date -> Adauga manual).
Validarea inputului (ISBN-ul, pret) se face prin blocuri try-catch cu afisare de MessageBox-uri. Acest
formular nu permite inserarea autorilor.

(1p) Obiectele create prin intermediul formularului de la punctul anterior se salveaza in aplicatie intr-o
colectie standard (la alegere), numita publicatii.

La nivelul aplicatiei se defineste si o colectie standard (la alegere), numita autori in care sunt adaugati
din cod minim 3 autori posibili.

Formularul principal al aplicatiei contine 2 ListView-uri puse in paralel. ListView-ul din stanga afiseaza
publicatiile sortate dupa titlu. ListView-ul din dreapta afiseaza autorii inregistrati in sistem.

(2p) Aplicatia permite prin intermediul meniului principal, activarea optiunii de citire a autorilor dintr-o
baza de date (se recomanda MS Access). Numele bazei de date si locatia ei se considera cunoscute.
Autorii din baza de date sunt afisati intr-un fomular separat prin intermediul unui ListView cu checkbox-
uri pe margine. Doar autorii selectati se adauga in colectia autori.

(1p) In formularul principal, selectia unui manual din ListView activeaza un TextBox multiline (plasat sub
ListView) in care sunt afisati autorii cartii (doar numele). Adaugarea unui nou autor se face prin
drag&drop a unui autor in TextBox-ul respectiv care deja afiseaza aceasta informatie pentru o carte
selectata. Asocierea vizuala dintre autor si carte are efecte si in valoarea obiectului Carte (vezi lista de
autori). Se foloseste operatorul + definit anterior.

(1p) Reprezentare grafica a relatiei carte – autori (relatie de tip 1:M) pentru toate cartile si toti autorii.
Desenul are persistenta pe refresh (redimensionare, ascundere cu reafisare).
Să se realizeze o aplicație C# .NET privind gestionarea parcului auto aferent unei companii de transport
(șoferi, pasageri, mașini, rute transport).

(1p) Sa se implementeze o ierarhie de clase (Vehicul, Autoturism, Camion) care dispun de constructori
pentru inițializarea cu date a obiectelor, iar atributelor de tip private li se vor atașa proprietăți modelate
cu expresii lambda, pentru acces în citire și scriere. Una dintre clase conține printre atribute un vector
de elemente de tipuri numerice fundamentale.

(1p) Una dintre clase implementează interfețele ICloneable si IComparable (metodele Clone() și
CompareTo() pentru a compara doua obiecte după un criteriu ales).

(1p) Clasa care conține vectorul de elemente implementează supraîncărcarea operator+ pentru a
adăuga un element în vector, supraîncărcarea operatorului cast la double pentru calculul mediei din
vector și implementarea metodei ToString() pentru afișare.

(2p) Aplicația permite prin intermediul unui meniu principal opțiunea de citire a datelor dintr-o baza de
date (SQL Server, MS Access, SQLite, etc.). Denumirea bazei de date și locația ei se considera cunoscute.
Obiectele din clasele de lucru, create pe baza datelor din BD, se salvează în aplicație într-o colecție
standard (la alegere).

(1p) Datele din colecție sunt afișate pe formularul principal prin intermediul unui ListView cu checkbox-
uri pe margine.

(1p) La apăsarea unui buton de pe formular, aplicația permite ștergerea din tabela bazei de date a
înregistrărilor selectate din ListView prin intermediul checkbox-urilor.

(1p) Aplicația permite la click dreapta pe formularul principal trasarea unui grafic de tip bare, într-un
formular secundar, privind evoluția datelor stocate în baza de date, în funcție de o caracteristica la
alegere.
Să se implementeze o aplicație Windows pentru înscrierea candidaților la programele de masterat ale
unei facultăți.

(1p) Să se implementeze clasa ProgramStudiu cu următoarele atribute private:

codProgram (int), denumireProgram (string), numărLocuriBuget (int), numărLocuriTaxă (int).

Se consideră clasa Candidat cu următoarele atribute private:

codCandidat (int), numeCandidat (string), medieConcurs (float), vectorOptiuni (int [ ] – vector de coduri
programe la care s-a înscris candidatul).

(2p) Să se construiască un formular ce permite initializarea și afișarea de obiecte din clasele


ProgramStudiu și Candidat. Lista de candidati este afișată într-un control ListView, iar programele de
studiu într-un control ListBox. Atunci când este selectat un candidat din ListView și se face click pe un
program de studiu din ListBox, respectivul program este adăugat în vectorul de opțiuni ale candidatului.

Obiectele Candidat create prin intermediul formularului principal se salvează în aplicație într-o colecție
standard (la alegere).

(2p) Prin apăsarea unui buton de pe formularul principal se deschide un formular secundar care conține
controale vizuale simple pentru introducerea datelor, necesare creării unui nou candidat. Validarea
inputului se face prin blocuri try-catch cu afisare de MessageBox-uri si controale de validare. Pentru
vectorul de coduri programe la care s-a înscris candidatul se va folosi un TextBox în care codurile sunt
separate prin virgulă.

(1p) Obiectele Candidat afișate prin intermediul controlului ListView pot fi editate sau șterse (inclusiv din
colecție) cu ajutorul unui meniu contextual având două opțiuni (editare și ștergere a elementului
selectat). În cazul editării unui candidat, se va lansa formularul secundar de la punctul anterior, în care
controalele sunt precompletate cu datele existente ale candidatului.

(2p) La apăsarea unui buton de pe formularul principal, aplicația permite trasarea unui grafic de tip bare,
într-un panel de pe un formular secundar, privind numărul de candidați înscriși la fiecare program de
studiu.

(1p) Pe opțiunea Preview dintr-un meniu principal să se afișeze cu ajutorul unui PrintPreviewDialog
situația înscrierilor candidaților sub forma unui raport ce conține codul fiecărui program, urmat de
numele candidaților care s-au înscris la programul respectiv.

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