Advertisement
neogz

STR - Knjiga no3

Sep 4th, 2014
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.33 KB | None | 0 0
  1. /*
  2.     11W - Zadatak 83.
  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. {
  14.     char* naziv;
  15.     char ISBN[10];
  16.     int cijena;
  17.     void ucitaj();
  18. };
  19. void ispis(Knjiga* K, int n){
  20.     for (int i = 0; i < n; i++){   
  21.         cout << crt << "KNJIGA " << i + 1 << crt <<"NAZIV:  " << K[i].naziv << endl;
  22.         cout << "ISBN:   " << K[i].ISBN << endl;
  23.         cout << "CIJENA: " << K[i].cijena;
  24.     }
  25. }
  26. void Knjiga::ucitaj(){
  27.     char tempNaziv[50];
  28.     cout << crt << "Unesite podatke za knjigu:" << crt;
  29.  
  30.     cout << "Naziv  ->  ";
  31.     cin.getline(tempNaziv, 50);
  32.     naziv = new char[strlen(tempNaziv) + 1];
  33.     strcpy(naziv, tempNaziv);
  34.  
  35.     cout << "ISBN   ->  ";
  36.     cin >> ISBN;
  37.  
  38.     cout << "Cijena ->  ";
  39.     cin >> cijena; 
  40.     cin.ignore();
  41. }
  42.  
  43. int main() {
  44.    
  45.     int n;
  46.     cout << "Izaberi koliko objekata tipa knjiga zelite inicijalizirati: ";
  47.     cin >> n;
  48.     cin.ignore();
  49.  
  50.     Knjiga * A = new Knjiga[n];
  51.     for (int i = 0; i < n; i++){
  52.         A[i].ucitaj();
  53.     }
  54.  
  55.     Knjiga * B = A;
  56.  
  57.     A = new Knjiga;
  58.     (*A).ucitaj();
  59.    
  60.     ispis(B, n);
  61.     ispis(A, 1);
  62.  
  63.     Knjiga C = { "FIT", "123456", 10 };
  64.     ispis(&C, 1);
  65.  
  66.     delete[](*A).naziv;
  67.     for (int i = 0; i < n; i++)
  68.         delete[] B[i].naziv;
  69.  
  70.     delete A;
  71.     delete[]B;
  72.    
  73.  
  74.     system("pause>null");
  75.     return 0;
  76. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement