Exemple de aplicații practice
Să explorăm câteva exemple concrete de utilizare a structurilor de date neomogene:
1. Gestionarea unei baze de date cu clienți:
- Structură: C++
struct Client { string nume; string prenume; string adresa; string telefon; // ... alte informații relevante };
Folosește codul cu precauție. - Utilizare:
- Stocarea informațiilor despre un număr mare de clienți într-un vector sau într-o listă.
- Căutarea unui client după nume sau după criterii specifice.
- Sortarea clienților după diferite criterii (alfabetic, după data înregistrării).
- Generarea de rapoarte (de exemplu, lista clienților dintr-o anumită regiune).
2. Simularea unui sistem de gestiune a unei biblioteci:
- Structură: C++
struct Carte { string titlu; string autor; int anPublicare; bool disponibila; };
Folosește codul cu precauție. - Utilizare:
- Stocarea informațiilor despre cărți într-o bibliotecă.
- Împrumutarea și returnarea cărților.
- Căutarea unei cărți după titlu, autor sau alte criterii.
- Generarea de rapoarte despre cărțile împrumutate, cele pierdute etc.
3. Gestionarea unui sistem de rezervări hoteliere:
- Structură: C++
struct Rezervare { string numeClient; Date dataSosire; Date dataPlecare; int numarCamere; };
Folosește codul cu precauție. - Utilizare:
- Stocarea informațiilor despre rezervările efectuate.
- Verificarea disponibilității camerelor.
- Anularea unei rezervări.
- Generarea de facturi.
Gestionarea unei baze de date cu produse într-un magazin online:
- Structură: C++
struct Produs { string nume; float pret; int cantitateStoc; // ... alte caracteristici };
Folosește codul cu precauție. - Utilizare:
- Stocarea informațiilor despre produsele disponibile.
- Gestionarea stocului.
- Afișarea produselor într-un catalog online.
- Procesarea comenzilor.
program care gestionează o bibliotecă.
C++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
struct Carte {
string titlu;
string autor;
int anPublicare;
bool disponibila;
};
vector<Carte> biblioteca;
// Funcție pentru a adăuga o carte în bibliotecă
void adaugaCarte(const Carte& carte) {
biblioteca.push_back(carte);
}
// Funcție pentru a căuta o carte după titlu
Carte* cautaCarte(const string& titlu) {
for (Carte& carte : biblioteca) {
if (carte.titlu == titlu) {
return &carte;
}
}
return nullptr;
}
// ... alte funcții pentru împrumut, returnare, afișare catalog ...
int main() {
// Adăugare cărți în bibliotecă
Carte carte1 = {"Ion", "Liviu Rebreanu", 1920, true};
adaugaCarte(carte1);
// ... adăugare alte cărți ...
// Căutare carte
Carte* carteGasita = cautaCarte("Ion");
if (carteGasita) {
cout << "Cartea a fost găsită!" << endl;
} else {
cout << "Cartea nu a fost găsită." << endl;
}
return 0;
}