Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <sstream>
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
- //---------------------------------------------
- const char CDuomenuFailas[] = "parduotuve.txt";
- const char CRezultatuFailas[] = "Rezultatai.txt";
- const int CMaksimalus = 30;
- //---------------------------------------
- class parduotuve
- {
- private:
- string detales;
- int kaina;
- int kiekis;
- string gamintojas;
- public:
- parduotuve();
- parduotuve(string d , int k , int ki, string g);
- ~parduotuve();
- string grazintidetales();
- int grazintikaina();
- int grazintikieki();
- string grazintigamintoja();
- string spausdinti();
- };
- void skaityti(const char CDuomenuFailas[], parduotuve krautuve[], int & kiek);
- void spausdinti(const char CRezultatuFailas[], parduotuve krautuve[], int & kiek);
- parduotuve kainusuma(parduotuve krautuve[],int & kiek);
- int ksuma(parduotuve p1,parduotuve p2);
- int main()
- {
- ofstream srautas(CRezultatuFailas);
- parduotuve krautuve[CMaksimalus];
- int kainusuma;
- skaityti(CDuomenuFailas, krautuve, kainusuma);
- spausdinti(CRezultatuFailas, krautuve, kainusuma);
- return 0;
- }
- parduotuve::parduotuve(string d,int k,int ki,string g):
- detales(d),kaina(k),kiekis(ki),gamintojas(g) {}
- parduotuve::parduotuve():detales(0),kaina(0),kiekis(0),gamintojas(0) {}
- parduotuve::~parduotuve(){}
- string parduotuve::grazintidetales()
- {
- return detales;
- }
- int parduotuve::grazintikaina()
- {
- return kaina;
- }
- int parduotuve::grazintikieki()
- {
- return kiekis;
- }
- string parduotuve::grazintigamintoja()
- {
- return gamintojas;
- }
- string parduotuve::spausdinti()
- {
- stringstream srautas;
- srautas<<"detales: "<<detales<<"kaina: "<<kaina<<"kiekis: "<<kiekis<<"gamintojas: "<<gamintojas <<endl;
- return srautas.str();
- }
- void skaityti(const char CDuomenuFailas[],parduotuve krautuve[],int & kiek)
- {
- string detales;
- string gamintojas;
- int kaina;
- int kiekis;
- ifstream srautas(CDuomenuFailas);
- srautas >> kiek;
- for(int i = 0; i < kiek && i < CMaksimalus; i++) {
- srautas >> detales >> kaina >> kiekis >> gamintojas;
- krautuve[i] = parduotuve(detales,kaina,kiekis,gamintojas);
- }
- srautas.close();
- }
- void spausdinti(const char CRezultatuFailas[], parduotuve krautuve[], int & kiek)
- {
- ofstream srautas(CRezultatuFailas, ofstream::app);
- srautas << "Pradiniai duomenys: ";
- for(int i = 0; i < kiek; i++)
- srautas << "detaliu sarasas " << (i + 1) << ": " << krautuve[i].spausdinti() << endl;
- srautas << "Rezultatai: ";
- srautas << "kainu suma: "
- << kainusuma(krautuve,kiek).spausdinti() << endl;
- srautas.close();
- }
- parduotuve kainusuma(parduotuve krautuve[],int & kiek)
- {
- parduotuve p = krautuve[0];
- for(int i = 1; i < kiek; i++)
- if (ksuma(krautuve[i], p))
- p = krautuve[i];
- return p;
- }
- int ksuma(parduotuve p1,parduotuve p2){
- return (p1.grazintikaina() + p2.grazintikaina());
- }
Add Comment
Please, Sign In to add comment