Sunteți pe pagina 1din 5

Aplicație

Recapitulare (Variabile locale, globale, constante, struct, class, funcții void sau cu tip, fără
și cu parametri, parametrii referințe)

Pentru o persoană care închiriază o mașină se citesc de la tastatură numele, numărul de zile pe
care se face închirierea și dacă persoana beneficiază sau nu de card de fidelitate, card care îi oferă o
reducere de 10% la suma de plată finală (prețul neredus al închirierii pe 24 de ore se considera o constată
egală cu 84.99lei).
Să se calculeze și să se afișeze suma de plată finală (redusă sau nu în funcție de deținerea sau nu
a cardului de fidelitate).
sumaf=pretpezi* nrzile*(1-reducere/100.0);

1) totul într-un singur fișier cu o singură funcție, int main(), cu variabile distincte
se vor afișa numele și suma
Indicații: a)Pentru deținerea cardului se poate utiliza o variabilă de tip char raspuns.
cout<<"Are card?(D/N) ";
cin>>raspuns;
raspuns=toupper(raspuns);
if(raspuns=='D') reducere=10; else reducere=0;

b)pentru pret: const float pretpezi=84.99;

2) totul într-un singur fișier cu o singură funcție, int main(), cu tipul struct.
membrii: nume, nrzile, sumaf, reducere
(const float pretpezi=84.99 și char raspuns sunt variabile locale în funcția main)

3) totul într-un singur fișier cu tipul class (clasa avand toți membrii privați și având funcții
publice pentru citire, calcul și returnare membri de afișat)

1
Indicații
a) se adaugă un membru nou în clasă, bool arecard, astfel dacă raspuns=’D’ arecard=true
b) clasa mai conține static const float pretpezi;
global avem const float client::pretpezi=84.99;
c) funcția main va conține apelurile pentru funcțiile de citire și calculare, și mesajul de afișare va fi
de forma:
Clientul ……………are de plata suma……………
exemplu funcții:

4) Ca la punctul 3) dar ciclic cu întrebarea ”Continuati? (D/N):” și să se repete cât timp se tastează
’d’ sau ’D’, iar în final să se afișeze suma totală de plata pentru toți clienții introduși.

Indicații
în main do {….}while (toupper(raspuns) == 'D');

2
5) Ca și punctul 4) dar să se mute declarația clasei într-un fișier header și implementarea
funcțiilor într-un fisier source1.cpp (funcția main este în fișierul source.cpp)

6) Cu tipul class ca la punctul 3, dar cu un array de obiecte de tipul class, pentru n clienti, n citit de
la tastatura. Să se utilizeze o funcție void pentru introducere și una tot void pentru afișare
tabelară. În tabel se vor afișa numele clientului, suma finală de plată a acestuia și Da sau Nu dacă are
sau nu card de reducere respectivul client.
Indicații
a) se va adăuga în clasă o funcție pentru a returna variabila bool arecard;
b) pentru declarație array : client x[50] (!!accesibilitate, mai adăugam altceva?);
c) funcția void introducere introducem numărul de clienți și vom utiliza for pentru apelarea
funcțiilor de citire și calcul.
d) funcția main conține numai apelurile pentru funcțiile introducere și afișare

3
7) Lucrand tot cu class client să se calculeze și care este suma maximă de plată a unui client și care
este clientul ce o are (sau care sunt clientii ce o au, dacă mai multi clienți cu aceeasi suma maximă
de plată).

Indicație: adăugăm o nouă funcție void maxim() care va calcula și afișa maximul sumei de plată

4
8) Aceeasi cerință ca la punctul 7 (deci lucrati cu class client), dar lucrați fără variabile globale, și
pentru aceasta utilizați funcții cu parametri (n-numarul de clienți se va citi în funcția main).

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