```cpp= #include <iostream> #include <fstream> #include <algorithm> using namespace std; typedef struct Client { char nume[50]; char iban[50]; double sold; char moneda[3]; } Client; int main() { char* nume_fisier = "clienti.txt"; ifstream fin(nume_fisier); int numar_clienti; Client lista_clienti[10]; fin >> numar_clienti; for (int i = 0; i < numar_clienti; i++) { fin >> lista_clienti[i].nume; fin >> lista_clienti[i].iban; fin >> lista_clienti[i].sold; fin >> lista_clienti[i].moneda; } // Ex 1 - Sa se afiseze soldul clientului cu numele Andreea cout << "----------------- 1 -----------------\n"; bool gasitAndreea = false; for (int i = 0; i < numar_clienti; i++) { if (!strcmp(lista_clienti[i].nume, "Andreea")) { gasitAndreea = true; cout << "Clientul cu numele Andreea are soldul: " << lista_clienti[i].sold << " " << lista_clienti[i].moneda <<"\n"; break; } } if (!gasitAndreea) { cout << "Nu exista un client cu numele Andreea.\n"; } cout << endl; // Ex 2 - Sa se adauge in ficare cont o dobanda dupa cum urmeaza // Conturile de RON: 2% // Conturile de EUR: 1% // Conturile de USD: 5% cout << "----------------- 2 -----------------\n"; for (int i = 0; i < numar_clienti; i++) { if (!strcmp(lista_clienti[i].moneda, "RON")) { lista_clienti[i].sold = (lista_clienti[i].sold * 1.02f); } else if (!strcmp(lista_clienti[i].moneda, "EUR")) { lista_clienti[i].sold = (lista_clienti[i].sold * 1.01f); } else if (!strcmp(lista_clienti[i].moneda, "USD")) { lista_clienti[i].sold = (lista_clienti[i].sold * 1.05f); } } for (int i = 0; i < numar_clienti; i++) { cout << lista_clienti[i].nume << "\t\t" << lista_clienti[i].sold << "\t" << lista_clienti[i].moneda << endl; } cout << endl; // 3. Sa se afiseze clientii ordonati alfabetic cout << "----------------- 3 -----------------\n"; for (int i = 0; i < numar_clienti; i++ ) { for (int j = 0; j < numar_clienti; j++) { if (strcmp(lista_clienti[i].nume, lista_clienti[j].nume) < 0) { Client aux; aux = lista_clienti[i]; lista_clienti[i] = lista_clienti[j]; lista_clienti[j] = aux; } } } for (int i = 0; i < numar_clienti; i++) { cout << lista_clienti[i].nume << "\t\t" << lista_clienti[i].sold << "\t" << lista_clienti[i].moneda << endl; } cout << endl; // 4. Sa se afiseze top 3 clienti cu cei mai multi RON cout << "----------------- 4 -----------------\n"; Client clienti_cu_RON[10]; int numar_clienti_cu_ron = 0; // Filtram clientii cu RON for (int i = 0; i < numar_clienti; i++) { if (!strcmp(lista_clienti[i].moneda, "RON")) { clienti_cu_RON[numar_clienti_cu_ron] = lista_clienti[i]; numar_clienti_cu_ron++; } } // Sortam clientii cu RON for (int i = 0; i < numar_clienti_cu_ron; i++ ) { for (int j = 0; j < numar_clienti_cu_ron; j++) { if (clienti_cu_RON[i].sold > clienti_cu_RON[j].sold) { Client aux; aux = clienti_cu_RON[i]; clienti_cu_RON[i] = clienti_cu_RON[j]; clienti_cu_RON[j] = aux; } } } for (int i = 0; i < min(numar_clienti_cu_ron, 3); i++) { cout << clienti_cu_RON[i].nume << "\t\t" << clienti_cu_RON[i].sold << "\t" << clienti_cu_RON[i].moneda << endl; } cout << endl; // 5. Stiind ca 1 EUR = 4.93 RON si 1 USD = 4.06 RON // sa se transforme toate soldurile in RON si // sa se afise top 5 clienti cu cele mai mici solduri cout << "----------------- 4 -----------------\n"; // Transformam toate soldurile in RON for (int i = 0; i < numar_clienti; i++) { if (!strcmp(lista_clienti[i].moneda, "EUR")) { lista_clienti[i].sold = (lista_clienti[i].sold * 4.93f); strcpy(lista_clienti[i].moneda, "RON"); } else if (!strcmp(lista_clienti[i].moneda, "USD")) { lista_clienti[i].sold = (lista_clienti[i].sold * 4.06f); strcpy(lista_clienti[i].moneda, "RON"); } } for (int i = 0; i < numar_clienti; i++ ) { for (int j = 0; j < numar_clienti; j++) { if (lista_clienti[i].sold < lista_clienti[j].sold) { Client aux; aux = lista_clienti[i]; lista_clienti[i] = lista_clienti[j]; lista_clienti[j] = aux; } } } for (int i = 0; i < min(numar_clienti, 5); i++) { cout << lista_clienti[i].nume << "\t\t" << lista_clienti[i].sold << "\t" << lista_clienti[i].moneda << endl; } cout << endl; return 0; } ```