Advertisement
neogz

STR - Knjiga - unos, ispis, dealokacija

Sep 4th, 2014
286
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.44 KB | None | 0 0
  1. /*
  2.     11W - Zadatak 82.
  3. */
  4. #ifdef _MSC_VER
  5. #define _CRT_SECURE_NO_WARNINGS
  6. #endif
  7. #include <iostream>
  8. using namespace std;
  9.  
  10. char crt[] = "\n--------------------------------------------------\n";
  11.  
  12. struct Knjiga {
  13.     char *  naziv;
  14.     char *  ISBN;
  15.     int     cijena;
  16.     void    ucitaj();
  17.     void    dealociraj();
  18. };
  19.  
  20. void Knjiga::ucitaj()
  21. {
  22.     char nazivNiz[100];
  23.     char ISBNNiz[100];
  24.  
  25.     cout << crt <<"Unesite naziv knjige -> ";
  26.     cin.getline(nazivNiz, 100);
  27.     naziv = new char[strlen(nazivNiz) + 1];
  28.     strcpy(naziv, nazivNiz);
  29.  
  30.     cout << "Unesite ISBN knjige -> ";
  31.     cin.getline(ISBNNiz, 100);
  32.     ISBN = new char[strlen(ISBNNiz) + 1];
  33.     strcpy(ISBN, ISBNNiz);
  34.  
  35.     cout << "Unesite cijenu knjige -> ";
  36.     cin >> cijena;
  37.     cin.ignore();
  38.  
  39.  
  40. }
  41. void ispis(Knjiga niz[], int i)
  42. {
  43.     cout << "Naziv  ->  " << niz[i].naziv << endl;
  44.     cout << "ISBN   ->  " << niz[i].ISBN << endl;
  45.     cout << "Cijena ->  " << niz[i].cijena <<  crt;
  46. }
  47. void Knjiga::dealociraj()
  48. {
  49.     delete[] naziv;
  50.     delete[] ISBN;
  51.     naziv = ISBN = nullptr;
  52. }
  53.  
  54. int main() {
  55.    
  56.     int brTemp = 0;
  57.     cout << "Unesite koliko objekata tipa Knjiga zelite: ";
  58.     cin >> brTemp;
  59.     cin.ignore();
  60.  
  61.     Knjiga * niz = new Knjiga[brTemp];
  62.     for (int i = 0; i < brTemp; i++){
  63.         niz[i].ucitaj();
  64.     }
  65.  
  66.     cout << crt << "\t::KNJIGE::" << crt;
  67.     for (int i = 0; i < brTemp; i++){
  68.         ispis(niz, i);
  69.     }
  70.  
  71.    
  72.     for(int i=0; i<brTemp; i++)
  73.         niz[i].dealociraj();
  74.  
  75.     delete[]niz;
  76.     niz = nullptr;
  77.  
  78.     system("pause>null");
  79.     return 0;
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement