Informatică, întrebare adresată de serban444, 8 ani în urmă

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.


crow9920: ce ar trebuie sa faca functiile alea? mai exact

Răspunsuri la întrebare

Răspuns de andrei750238
2

#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);

}

Anexe:
Alte întrebări interesante