Sunteți pe pagina 1din 3

Lucrarea de Laborator nr.

5
Tema: Liste liniare
Scopul: utilizarea listelor liniare simplu înlănțuite (create manual)
pentru scrierea programelor în limbajul de programare C++.
Sarcini
Scrieți un program care permite utilizatorului să selecteze unul din punctele meniului

(crearea listei liniare din structuri; afișarea conținutului listei; adăugarea datelor în listă;

modificarea datelor din listă; eliminarea datelor din listă; căutarea datelor în listă

conform căruiva criteriu; sortarea datelor din listă; ieșirea din program ș.a.). Tema, pe

baza căreia trebuie să creați lista liniară este aceiași ca și la lucrarea de laborator nr. 3.

13) Tehnică de calcul (nr, denumire, model, preț, an editare, țară)

#include <iostream>
#include <string>

struct TehnicaCalcul {
int nr;
std::string denumire;
std::string model;
float pret;
int anEditare;
std::string tara;

TehnicaCalcul(int nr, const std::string& denumire, const std::string&


model, float pret, int anEditare, const std::string& tara)
: nr(nr), denumire(denumire), model(model), pret(pret),
anEditare(anEditare), tara(tara) {}
};

struct Nod {
TehnicaCalcul tehnica;
Nod* urmator;

Nod(const TehnicaCalcul& tehnica) : tehnica(tehnica), urmator(nullptr)


{}
};

class Lista {
private:
Nod* primulNod;

public:
Lista() : primulNod(nullptr) {}

void adaugaLaInceput(const TehnicaCalcul& tehnica) {


Nod* nouNod = new Nod(tehnica);
nouNod->urmator = primulNod;
primulNod = nouNod;
}

void afiseazaLista() {
Nod* nodCurent = primulNod;

while (nodCurent != nullptr) {


afisareTehnica(nodCurent->tehnica);
nodCurent = nodCurent->urmator;
}
}

};

void afisareTehnica(const TehnicaCalcul& tehnica) {


std::cout << "Numar: " << tehnica.nr << ", Denumire: " <<
tehnica.denumire
<< ", Model: " << tehnica.model << ", Pret: " << tehnica.pret
<< ", An editare: " << tehnica.anEditare << ", Tara: " <<
tehnica.tara << std::endl;
}

void afisareMeniu() {
std::cout << "1. Adaugare tehnica de calcul in lista" << std::endl;
std::cout << "2. Afisare continut lista" << std::endl;
std::cout << "3. Modificare date in lista" << std::endl;
std::cout << "4. Stergere date din lista" << std::endl;
std::cout << "5. Cautare date in lista conform criteriului" <<
std::endl;
std::cout << "6. Sortare date in lista" << std::endl;
std::cout << "7. Iesire din program" << std::endl;
}

int main() {
Lista listaTehnica;

while (true) {
afisareMeniu();

int optiune;
std::cout << "Introduceti optiunea: ";
std::cin >> optiune;

switch (optiune) {
case 1: {
int nr;
std::string denumire, model, tara;
float pret;
int anEditare;
std::cout << "Introduceti numarul: "; std::cin >> nr;
std::cout << "Introduceti denumirea: "; std::cin >>
denumire;
std::cout << "Introduceti modelul: "; std::cin >> model;
std::cout << "Introduceti pretul: "; std::cin >> pret;
std::cout << "Introduceti anul editarii: "; std::cin >>
anEditare;
std::cout << "Introduceti tara: "; std::cin >> tara;

TehnicaCalcul tehnica(nr, denumire, model, pret, anEditare,


tara);
listaTehnica.adaugaLaInceput(tehnica);

std::cout << "Tehnica de calcul adaugata in lista." <<


std::endl;
break;
}
case 2: {
std::cout << "Continutul listei:" << std::endl;
listaTehnica.afiseazaLista();
break;
}
case 7: {
std::cout << "Programul s-a incheiat." << std::endl;
return 0;
}
default:
std::cout << "Optiune invalida. Va rugam sa introduceti o
optiune valida." << std::endl;
}
}

return 0;
}

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

  • Lab 4
    Lab 4
    Document3 pagini
    Lab 4
    Igor Pascal
    Încă nu există evaluări
  • Lab 6
    Lab 6
    Document3 pagini
    Lab 6
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document3 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document5 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 7
    Lab 7
    Document4 pagini
    Lab 7
    Igor Pascal
    Încă nu există evaluări
  • Raport 1
    Raport 1
    Document14 pagini
    Raport 1
    Damean Alexandra
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document14 pagini
    Lucrarea de Laborator NR 7 POO
    Vlad Racu
    Încă nu există evaluări
  • Lab1 Poo
    Lab1 Poo
    Document15 pagini
    Lab1 Poo
    ciumac andrian
    100% (1)
  • Raport
    Raport
    Document32 pagini
    Raport
    braileanu
    Încă nu există evaluări
  • Lucrarea de Laborator nr5 - C++
    Lucrarea de Laborator nr5 - C++
    Document8 pagini
    Lucrarea de Laborator nr5 - C++
    CapitanMD
    Încă nu există evaluări
  • Lab7C 1 1
    Lab7C 1 1
    Document7 pagini
    Lab7C 1 1
    Cristian Conea
    Încă nu există evaluări
  • Patrat PDF
    Patrat PDF
    Document2 pagini
    Patrat PDF
    Julia Varga
    Încă nu există evaluări
  • Kis Alexandru Lab 6
    Kis Alexandru Lab 6
    Document7 pagini
    Kis Alexandru Lab 6
    Sabine Crihan
    Încă nu există evaluări
  • POO2 Grosu Maxim RM201
    POO2 Grosu Maxim RM201
    Document10 pagini
    POO2 Grosu Maxim RM201
    maxlab
    Încă nu există evaluări
  • Lab.4 POO UD
    Lab.4 POO UD
    Document9 pagini
    Lab.4 POO UD
    Miroslava
    Încă nu există evaluări
  • L2POO - Operatii de Intrare-Iesire
    L2POO - Operatii de Intrare-Iesire
    Document9 pagini
    L2POO - Operatii de Intrare-Iesire
    ciobycostyyahoo.com
    Încă nu există evaluări
  • Cobzac Daniel Lab6PC
    Cobzac Daniel Lab6PC
    Document19 pagini
    Cobzac Daniel Lab6PC
    Music NoCopyright
    Încă nu există evaluări
  • Sda LP07 V05
    Sda LP07 V05
    Document13 pagini
    Sda LP07 V05
    Music NoCopyright
    Încă nu există evaluări
  • POO - Lab 2
    POO - Lab 2
    Document16 pagini
    POO - Lab 2
    Dascal Sergiu
    Încă nu există evaluări
  • Lab 3raport
    Lab 3raport
    Document14 pagini
    Lab 3raport
    Tabureanu Marian
    Încă nu există evaluări
  • Beriksadsada
    Beriksadsada
    Document17 pagini
    Beriksadsada
    Marius Turcan
    Încă nu există evaluări
  • Lab 1 POO
    Lab 1 POO
    Document24 pagini
    Lab 1 POO
    Grosu Maxim
    Încă nu există evaluări
  • ZinveliuIoana Cumulate Lab8 An1 Sem2
    ZinveliuIoana Cumulate Lab8 An1 Sem2
    Document12 pagini
    ZinveliuIoana Cumulate Lab8 An1 Sem2
    Ioana Zinveliu
    Încă nu există evaluări
  • Kis Alexandru Lab 5
    Kis Alexandru Lab 5
    Document10 pagini
    Kis Alexandru Lab 5
    Sabine Crihan
    100% (1)
  • Proiect Poo
    Proiect Poo
    Document14 pagini
    Proiect Poo
    Donia Andrei
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Lucrarea de Laborator nr3 - C++
    Lucrarea de Laborator nr3 - C++
    Document9 pagini
    Lucrarea de Laborator nr3 - C++
    CapitanMD
    Încă nu există evaluări
  • Laborator 4
    Laborator 4
    Document2 pagini
    Laborator 4
    Roman Grițco
    Încă nu există evaluări
  • SDA Raport 9
    SDA Raport 9
    Document17 pagini
    SDA Raport 9
    Alina Axenti
    Încă nu există evaluări
  • Lucrarea de Laborator NR 7 POO
    Lucrarea de Laborator NR 7 POO
    Document7 pagini
    Lucrarea de Laborator NR 7 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Laborator 1
    Laborator 1
    Document21 pagini
    Laborator 1
    jakson bueber
    Încă nu există evaluări
  • Problema 1
    Problema 1
    Document10 pagini
    Problema 1
    Pavel Andrei
    Încă nu există evaluări
  • LAB1MDMB
    LAB1MDMB
    Document10 pagini
    LAB1MDMB
    NeFe We
    Încă nu există evaluări
  • Cheregi Florin Lab1
    Cheregi Florin Lab1
    Document21 pagini
    Cheregi Florin Lab1
    Florin Cheregi
    100% (2)
  • Laborator1 1 PDF
    Laborator1 1 PDF
    Document5 pagini
    Laborator1 1 PDF
    Denis Minjineanu
    Încă nu există evaluări
  • MD_lab1
    MD_lab1
    Document10 pagini
    MD_lab1
    A3
    Încă nu există evaluări
  • Laborator 1 Structuri Dinmice de Date
    Laborator 1 Structuri Dinmice de Date
    Document2 pagini
    Laborator 1 Structuri Dinmice de Date
    Alexei Bojenco
    Încă nu există evaluări
  • Lab 2 POO AI-191
    Lab 2 POO AI-191
    Document8 pagini
    Lab 2 POO AI-191
    Carolin
    Încă nu există evaluări
  • Matrice
    Matrice
    Document16 pagini
    Matrice
    Elena
    Încă nu există evaluări
  • POO Clase
    POO Clase
    Document5 pagini
    POO Clase
    Kng Ask
    Încă nu există evaluări
  • Lab 7
    Lab 7
    Document8 pagini
    Lab 7
    Ion Popescu
    Încă nu există evaluări
  • Probleme C++
    Probleme C++
    Document11 pagini
    Probleme C++
    hhh
    Încă nu există evaluări
  • MD_lab2
    MD_lab2
    Document15 pagini
    MD_lab2
    A3
    Încă nu există evaluări
  • Laboratorul 3
    Laboratorul 3
    Document10 pagini
    Laboratorul 3
    Ion Bn
    Încă nu există evaluări
  • Lucrarea de Laborator 2 SDA
    Lucrarea de Laborator 2 SDA
    Document17 pagini
    Lucrarea de Laborator 2 SDA
    Mihai Marchitan
    Încă nu există evaluări
  • Tronciu Laborator 9-SDA-Kulev
    Tronciu Laborator 9-SDA-Kulev
    Document28 pagini
    Tronciu Laborator 9-SDA-Kulev
    Alex Alex
    Încă nu există evaluări
  • Seminar 5
    Seminar 5
    Document2 pagini
    Seminar 5
    Albeanu Romina Paula
    Încă nu există evaluări
  • Probleme Rezolvate
    Probleme Rezolvate
    Document64 pagini
    Probleme Rezolvate
    Cosmi Feli Chira Vada
    Încă nu există evaluări
  • Laborator 10
    Laborator 10
    Document5 pagini
    Laborator 10
    cristytrs787878
    Încă nu există evaluări
  • Lucrarea de Laborator nr.1 POO
    Lucrarea de Laborator nr.1 POO
    Document27 pagini
    Lucrarea de Laborator nr.1 POO
    Mihai Marchitan
    Încă nu există evaluări
  • Laborar 4 Programare
    Laborar 4 Programare
    Document13 pagini
    Laborar 4 Programare
    cristian
    Încă nu există evaluări
  • Raport C++ Lab 3
    Raport C++ Lab 3
    Document4 pagini
    Raport C++ Lab 3
    Nickolae Enachi
    Încă nu există evaluări
  • Lab 4
    Lab 4
    Document6 pagini
    Lab 4
    ThomasMusa
    Încă nu există evaluări
  • Lucrarea de Laborator NR 4 POO
    Lucrarea de Laborator NR 4 POO
    Document10 pagini
    Lucrarea de Laborator NR 4 POO
    Alexandru Burdeniuc
    Încă nu există evaluări
  • Using Namespace: #Include #Include #Include #Include #Include
    Using Namespace: #Include #Include #Include #Include #Include
    Document4 pagini
    Using Namespace: #Include #Include #Include #Include #Include
    Ionela Gabriela
    Încă nu există evaluări
  • MD_lab3
    MD_lab3
    Document16 pagini
    MD_lab3
    A3
    Încă nu există evaluări
  • Operatii de Intrare - Iesire - C++
    Operatii de Intrare - Iesire - C++
    Document25 pagini
    Operatii de Intrare - Iesire - C++
    Jordan Freeman
    100% (1)
  • Laborator-3 Programarea Calculatoarelor
    Laborator-3 Programarea Calculatoarelor
    Document7 pagini
    Laborator-3 Programarea Calculatoarelor
    Radu Arapan
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Lab 3
    Lab 3
    Document6 pagini
    Lab 3
    Igor Pascal
    Încă nu există evaluări
  • Mamta in RAzboi
    Mamta in RAzboi
    Document1 pagină
    Mamta in RAzboi
    Igor Pascal
    Încă nu există evaluări
  • Lab 2
    Lab 2
    Document2 pagini
    Lab 2
    Igor Pascal
    Încă nu există evaluări
  • Riscuri in Afaceri
    Riscuri in Afaceri
    Document3 pagini
    Riscuri in Afaceri
    Rotarciuc Marcel
    Încă nu există evaluări
  • Mamta in RAzboi
    Mamta in RAzboi
    Document1 pagină
    Mamta in RAzboi
    Igor Pascal
    Încă nu există evaluări
  • Eseu Bilant
    Eseu Bilant
    Document2 pagini
    Eseu Bilant
    Igor Pascal
    Încă nu există evaluări
  • Riscul-De-Faliment Manoli Vladislav
    Riscul-De-Faliment Manoli Vladislav
    Document7 pagini
    Riscul-De-Faliment Manoli Vladislav
    Igor Pascal
    Încă nu există evaluări