Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* 2014.05.16 Ieva Jakšaitytė KTU IF-3/4
- Pagalbinė programa "U4-15. Prekių apyvarta." Laboratoriniui darbui
- Dokumento 1-oje eilutėje yra mėnesio diena. Kiekvienoje kitoje eilutėje yra:
- prekės pavadinimas, ryte turėtas kiekis, per dieną parduotas kiekis, kaina.
- Čia principas toks:
- Turiu vieną didelį prekių sąrašą, kuriame turiu prekės pavadinimus ir kainas.
- Jį nuskaitau ir kuriuosi kiekvieną failą atskirai, pasirinkdama kurias
- prekes į jį dėti. Programa automatiškai sugeneruoja kiek parduotuvė
- tų prekių turėjus iš ryto ir kiek pardavus per dieną. Viską išveda gražiai
- į nurodytą failą (failo vardą renkasi žmogus).
- Duomenų failo pavyzdys (pavadinimas, kaina):
- Speed-link XEOX Pro Analog juoda USB zaidimu vairamente, 59.99
- Multimedia pultelis WL3, 176
- GPS navigacine iranga Becker Ready 45 ICE, 449
- Zaidimas Call of Duty 5 (World at War) CLASSIC XB360, 78.49
- Arnica Dulkiu siurblys 800W MERLIN, 194
- 4World Raktu pakabukas-Mini DV kamera su diktofonas 8GB USB, 91.99
- A-DATA 4GB USB2.0 atmintine Sport S805 raudona, 15.99
- Acer ICONIA W4-820 Tablet, 1059
- Zaidimas 1C COMPANY Parkan 2, 30.49
- Veidrodinis fotoaparatas Canon EOS 1200D 18-55 IS II, 1469
- Televizorius Blaupunkt 23'' E-LED HD, 527
- Skalbykle AEG L60060SL O, 1152
- Siuvimo masina Singer Promise SMC1409/00, 419
- Išvesto failo pavyzdys:
- 2
- Multimedia pultelis WL3, 4 1 176
- A-DATA 4GB USB2.0 atmintine Sport S805 raudona, 11 9 15.99
- Arnica Dulkiu siurblys 800W MERLIN, 11 4 194
- */
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <iomanip>
- #include <stdio.h> // printf, NULL
- #include <stdlib.h> // srand, rand
- #include <time.h> // time
- using namespace std;
- class Preke
- {
- private:
- string pavadinimas;
- double kaina;
- public:
- void DetiDuomenis(string pav, double kain)
- { pavadinimas = pav; kaina = kain; }
- string ImtiPavadinima() { return pavadinimas; }
- double ImtiKaina() { return kaina; }
- };
- void NuskaitytiPrekes(Preke PrekiuMasyvas[], int & kiek);
- void IsvestiVisasPrekes(Preke PrekiuMasyvas[], int kiek);
- void KurtiAtskiraPrekiuDokumenta(Preke PrekiuMasyvas[]);
- int main() {
- setlocale(LC_ALL, "Lithuanian");
- Preke PrekiuMasyvas[20]; // visi duomenys apie prekes
- int kiek = 0; // kiek prekių iš viso
- char l;
- NuskaitytiPrekes(PrekiuMasyvas, kiek);
- IsvestiVisasPrekes(PrekiuMasyvas, kiek);
- bool dar = true;
- while (dar)
- {
- KurtiAtskiraPrekiuDokumenta(PrekiuMasyvas);
- cout << "Kurti dar vieną failą? (y/n) "; cin >> l;
- if (l != 'y')
- dar = false;
- }
- system("pause");
- return 0;
- }
- /* Nuskaito visas prekes iš pradinio sąrašo, viską deda į masyvą,
- paėma skaičių, kiek yra prekių */
- void NuskaitytiPrekes(Preke PrekiuMasyvas[], int & kiek)
- {
- ifstream fin("prekes.txt");
- string pav; double kaina;
- while (!fin.eof())
- {
- getline(fin, pav, ',');
- fin >> ws >> kaina >> ws;
- PrekiuMasyvas[kiek].DetiDuomenis(pav, kaina);
- kiek++;
- }
- fin.close();
- }
- /* Išveda rastas prekes į ekraną */
- void IsvestiVisasPrekes(Preke PrekiuMasyvas[], int kiek)
- {
- cout << "Nuskaitytos prekės:\n\n";
- for (int i = 0; i < kiek; i++)
- {
- cout << i+1 << ". " << PrekiuMasyvas[i].ImtiPavadinima()
- << " (" << PrekiuMasyvas[i].ImtiKaina() << " Lt)\n";
- }
- cout << "\n\n\n";
- }
- /* Išveda nurodytas prekes į atskirą nurodytą failą */
- void KurtiAtskiraPrekiuDokumenta(Preke PrekiuMasyvas[])
- {
- string failoVardas; int kiekIsvesti;
- int menesioDiena, prekesNumeris, a, b;
- srand(time(NULL));
- cout << "Nurodykite failo vardą į kurį norite išvesti (su .txt galūne, be tarpų):\n";
- cin >> failoVardas;
- cout << "Kiek prekių išvesite? ";
- cin >> kiekIsvesti;
- cout << "Mėnesio diena: "; cin >> menesioDiena;
- cout << endl;
- ofstream f(failoVardas);
- f << menesioDiena << endl;
- for (int i = 0; i < kiekIsvesti; i++)
- {
- cout << "Prekės numeris: "; cin >> prekesNumeris;
- a = rand() % 15;
- bool Nulis = true;
- while (Nulis)
- {
- if (a == 0)
- a = rand() % 15;
- else
- Nulis = false;
- }
- b = rand() % a;
- f << PrekiuMasyvas[prekesNumeris-1].ImtiPavadinima() << ", "
- << a << " " << b << " " << PrekiuMasyvas[prekesNumeris-1].ImtiKaina()
- << "\n";
- }
- cout << "Baigta.\n\n";
- f.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement