👤

Pornind de la definitia de mai jos:

struct Carti {
char titlu[50];
char autor[50];
char domeniu[100];
int id_carte;
} carte;

Implementati un program in care sa definiti cateva functii: introducere, adaugare, afisare, cautare, utilizate intr-un program principal.


Răspuns :

#include <iostream>

#include <iomanip>

#include <vector>

struct Carti {

char titlu[50];

char autor[50];

char domeniu[100];

int id_carte;

} carte;

Carti citeste_carte() {

Carti tmp;

std::cout << "\n\nIntroduceti titlu : ", std::cin >> tmp.titlu;

std::cout << "Introduceti autor : ", std::cin >> tmp.autor;

std::cout << "Introduceti domeniu : ", std::cin >> tmp.domeniu;

std::cout << "Introduceti ID : ", std::cin >> tmp.id_carte;

return tmp;

}

void afisare_carti(std::vector<Carti>& biblioteca) {

std::cout << std::endl << std::left << std::setw(15) << "ID" << std::setw(30) << "TITLU" << std::setw(25) << "AUTOR" << std::setw(15) << "DOMENIU\n";

for (Carti element : biblioteca) {

 std::cout << std::left << std::setw(15) << element.id_carte << std::setw(30) << element.titlu << std::setw(25) << element.autor << std::setw(15) << element.domeniu << std::endl;

}

}

void cautare(std::vector<Carti>& biblioteca) {

int cautata;

std::cout << "\nIntroduceti ID de cautat : ";

std::cin >> cautata;

bool gasit = 0;

for (int i = 0; i < biblioteca.size(); i++) {

 if (biblioteca[i].id_carte == cautata) {

  std::cout << "\nCartea exista in biblioteca pe pozitia : " << i;

  gasit = 1;

 }

}

if (!gasit)

 std::cout << "\nCartea nu exista in biblioteca";

}

int main() {

int alegere = 10;

std::vector<Carti> biblioteca;

do {

 std::cout << "\n\n|| MENIU ||";

 std::cout << "\n1. Introducere carte";

 std::cout << "\n2. Afisare carti";

 std::cout << "\n3. Cautare carte";

 std::cout << "\n0. Iesire";

 std::cout << "\nAlegerea dumneavoastra : ";

 std::cin >> alegere;

 switch (alegere)

 {

 case 1:

  biblioteca.push_back(citeste_carte());

  break;

 case 2:

  afisare_carti(biblioteca);

  break;

 case 3:

  cautare(biblioteca);

  break;

 case 0:

  std::cout << "\nAti ales sa parasiti programul";

  break;

 }

} while (alegere);

}

Vezi imaginea ANDREI750238
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, vă rugăm să ne contactați. Vă așteptăm cu drag și data viitoare! Nu uitați să adăugați site-ul nostru la lista de favorite!


Ze Learners: Alte intrebari