Advertisement
kaunas163

PRG-13-10-24-03

Nov 19th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.07 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <iomanip>
  5. using namespace std;
  6. ofstream fr;
  7. const int maks = 100;   // maksimalus masyvo dydis
  8. const char KN[] = "knygos.txt"; // knygyno knygų failas
  9. const char RE[] = "rez.txt";    // galutinis failas
  10.  
  11. class Knyga
  12. {
  13.     string pavadinimas;     // knygos pavadinimas
  14.     int kiekis;     // knygų skaičius knygyne
  15.     int puslapiai;      // knygos puslapių skaičius
  16. public:
  17.     void Set(string pavadinimas, int kiekis, int puslapiai);
  18.     string ImtiPav()    { return pavadinimas; }
  19.     int ImtiKiekį()    { return kiekis; }
  20.     int ImtiPuslapius() { return puslapiai; }
  21. };
  22.  
  23. void Knyga::Set(string pavadinimas, int kiekis, int puslapiai)
  24. {
  25.     Knyga::pavadinimas = pavadinimas;
  26.     Knyga::kiekis = kiekis;
  27.     Knyga::puslapiai = puslapiai;
  28. }
  29.  
  30. void Nuskaitymas(Knyga K[], int & KnyguSk);
  31. void Išvedimas(ofstream & fr, Knyga K[], int KnyguSk);
  32.  
  33. int main()
  34. {
  35.     setlocale(LC_ALL, "Lithuanian");
  36.     Knyga K[maks];      // klasės "knyga" objektas
  37.     int KnyguSk;        // knygų skaičius knygyne
  38.     fr.open(RE);
  39.     cout << "Knygos išvestos į naują failą.\n\n";
  40.     Nuskaitymas(K, KnyguSk);    // funkcija, nuskaitanti prad. failą
  41.     Išvedimas(fr, K, KnyguSk); // funkcija, išvedimui į atskirą failą
  42.     fr.close();
  43.     return 0;
  44. }
  45.  
  46. // funkcijos ------------------------------------
  47. // nuskaito informacija apie knygas iš failo
  48. void Nuskaitymas(Knyga K[], int & KnyguSk)
  49. {
  50.     string pav; int kiek; int pusl; // laikini kint.
  51.     ifstream fd(KN);
  52.     fd >> KnyguSk;
  53.     for(int i = 0; i < KnyguSk; i++){
  54.         fd >> pav >> kiek >> pusl;
  55.         K[i].Set(pav, kiek, pusl);
  56.     }
  57.     fd.close();
  58. }
  59.  
  60. // išveda atrinktas knygas į failą
  61. void Išvedimas(ofstream & fr, Knyga K[], int KnyguSk)
  62. {
  63.     fr << "Knygyne yra šios knygos:\n";
  64.     fr << "------------------------------\n";
  65.     fr << "Pavadinimas  Kiekis  Puslapiai \n";
  66.     fr << "------------------------------\n";
  67.     for(int i = 0; i < KnyguSk; i++){
  68.         fr << setw(13) << left << K[i].ImtiPav()
  69.             << setw(6) << right << K[i].ImtiKiekį()
  70.             << setw(8) << K[i].ImtiPuslapius() << endl;
  71.     }
  72.     fr << "------------------------------\n";
  73. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement