Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cstring>
- using namespace std;
- struct persoana {
- int codAngajat;
- char numePrenume[30];
- char specializare[20];
- char departament[25];
- int numarZile;
- int varsta;
- int luna;
- char sex;
- };
- void afisare(persoana p);
- /**
- Pentru un departament citit de la tastatura, sa se arate cati angajati are departament
- */
- int main()
- {
- int n;
- cout << "Introduceti cati angajati doriti sa introduceti in baza de date: ";
- cin >> n;
- struct persoana angajati[n];
- for (int i = 0; i < n; i++) {
- cout << "Introduceti codul de angajat: ";
- cin >> angajati[i].codAngajat;
- cout << "Introduceti numele si prenumele (maximum 30 de char): ";
- cin.ignore();
- cin.getline(angajati[i].numePrenume, 30);
- cout << "Introduceti specializarea angajatului (maximum 20 de char): ";
- cin.getline(angajati[i].specializare, 20);
- cout << "Introduceti departamentul angajatului (maximum 25 de char): ";
- cin.getline(angajati[i].departament, 25);
- cout << "Introduceti sexul angajatului: (M|F)";
- cin >> angajati[i].sex;
- }
- cout << "Afisare angajati: " << endl;
- for (int i = 0; i < n; i++) {
- cout << "Angajat #"<<(i+1)<<": " <<endl;
- afisare(angajati[i]);
- }
- cout << "------------------------\n\n\n\n";
- // Logica pentru cautare numar de angajati dintr-un departament
- cout << "Introduceti numele departamentului pentru care doriti sa vedeti numarul de angajati: ";
- char departament[25];
- cin.ignore();
- cin.getline(departament, 25);
- int numarDeAngajati = 0;
- for (int i = 0; i < n; i++) {
- if (strcmp(angajati[i].departament, departament) == 0) {
- numarDeAngajati++;
- }
- }
- cout << "In departamentul: " << departament << " sunt " << numarDeAngajati <<" angajati" << endl;
- // Sfarsti logica pentru cautare numar de angajati dintr-un departament
- // Logica pentru salvare angajati cu aceeasi specializare intr-un vector de angajati
- cout << "Introduceti specializarea pentru care doriti sa filtrati angajati: ";
- char specializare[20];
- struct persoana angajatiAceeasiSpecializare[n];
- int contorAngajati = 0;
- cin.getline(specializare, 20);
- for (int i = 0; i < n; i++) {
- if (strcmp(angajati[i].specializare, specializare) == 0) {
- angajatiAceeasiSpecializare[contorAngajati] = angajati[i];
- contorAngajati++;
- }
- }
- cout << "Angajatii cu aceeasi specializare sunt: " << endl;
- for (int i = 0; i < contorAngajati;i++) {
- afisare(angajatiAceeasiSpecializare[i]);
- }
- return 0;
- }
- void afisare(persoana p) {
- cout << "Codul de angajat: " << p.codAngajat << endl;
- cout << "Nume: " << p.numePrenume << endl;
- cout << "Specializarea angajatului: " << p.specializare << endl;
- cout << "Departamentul angajatului: " << p.departament << endl;
- cout << "Sexul angajatului: " << p.sex << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment