Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <iomanip>
- #include <string>
- #include <fstream>
- #include <cmath>
- using namespace std;
- //-------------------------------------------
- const char CFDuom[] = "Duomenys.txt";
- const char CFDuom1[] = "Duomenys1.txt";
- const char CFDuom2[] = "Duomenys2.txt";
- const char CFRez[] = "Rezultatai.txt";
- const int CMax = 100;
- //-------------------------------------------
- class Saldainis {
- private:
- string tipas;
- string pavadinimas;
- double kilogramoKaina;
- int kiekis;
- public:
- Saldainis();
- Saldainis( string saldainioTipas, string saldainioPavadinimas, double saldainioKilogramoKaina, int saldainiųKiekis );
- ~Saldainis() { }
- string ImtiTipą() { return tipas; }
- string ImtiPavadinimą() { return pavadinimas; }
- double ImtiKilogramoKainą() { return kilogramoKaina; }
- int ImtiSaldainiųKiekį() { return kiekis; }
- };
- Saldainis::Saldainis():
- tipas (""),
- pavadinimas (""),
- kilogramoKaina (0.0),
- kiekis (0)
- { }
- Saldainis::Saldainis( string saldainioTipas, string saldainioPavadinimas, double saldainioKilogramoKaina, int saldainiųKiekis ):
- tipas ( saldainioTipas ),
- pavadinimas ( saldainioPavadinimas ),
- kilogramoKaina ( saldainioKilogramoKaina ),
- kiekis ( saldainiųKiekis )
- { }
- //-------------------------------------------
- void Įvedimas ( const char Fv[], Saldainis S[], string & savininkas, int & n );
- double BendraKaina ( Saldainis S[], int n );
- int BrangiausioSaldainioIndeksas( Saldainis S[], int n );
- void Išvedimas ( const char Fv[], Saldainis S[] );
- int Kiekis ( Saldainis S[], int limitas, int n );
- void Bendras ( Saldainis S[], Saldainis S2[], Saldainis Bendras[], int n1, int n2, int limitas, int & bendrasN );
- //-------------------------------------------
- int main()
- {
- setlocale( LC_ALL, "Lithuanian" );
- ofstream Fr( CFRez );
- Saldainis S[CMax],
- Saldainis1[CMax],
- Saldainis2[CMax],
- BendrasSaldainis[CMax];
- string savininkas,
- savininkas1,
- savininkas2;
- int n = 0;
- int n1 = 0;
- int n2 = 0;
- int bendrasN = 0;
- int litųLimitas = 3;
- Įvedimas ( CFDuom, S, savininkas, n );
- int indeksas = BrangiausioSaldainioIndeksas( S, n );
- Fr << "Brangiausio tipo saldainių pavadinimas: ";
- Fr << S[indeksas].ImtiPavadinimą() << endl;
- Fr << endl << "----------------------------------" << endl << endl;
- Įvedimas ( CFDuom1, Saldainis1, savininkas1, n1 );
- Įvedimas ( CFDuom2, Saldainis2, savininkas2, n2 );
- if ( BendraKaina( Saldainis1, n1 ) > BendraKaina( Saldainis2, n2 ) )
- Fr << "Brangiausio saldainių rinkinio turėtojas: " << savininkas1 << endl;
- else if ( BendraKaina( Saldainis1, n1 ) < BendraKaina( Saldainis2, n2 ) )
- Fr << "Brangiausio saldainių rinkinio turėtojas: " << savininkas2 << endl;
- else if ( BendraKaina( Saldainis1, n1 ) == BendraKaina( Saldainis2, n2 ) )
- Fr << "Abiejų studentų saldainių rinkinių kaina yra lygi. " << endl;
- Bendras ( BendrasSaldainis, Saldainis1, Saldainis2, n1, n2, litųLimitas, bendrasN );
- Fr << "Litų limitas: " << litųLimitas << endl;
- //bendrasN = n1 + n2;
- for ( int i = 0; i < bendrasN; i++ )
- {
- //if ( BendrasSaldainis[i].ImtiKilogramoKainą() > litųLimitas )
- //{
- Fr << BendrasSaldainis[i].ImtiTipą() << " " << BendrasSaldainis[i].ImtiPavadinimą() << " " << BendrasSaldainis[i].ImtiKilogramoKainą() << " "
- << BendrasSaldainis[i].ImtiSaldainiųKiekį() << endl;
- //}
- };
- Fr.close();
- system("pause");
- return 0;
- };
- void Įvedimas ( const char Fv[], Saldainis S[], string & savininkas, int & n )
- {
- string tipas;
- string pavadinimas;
- double kaina;
- int kiekis;
- int i = 0;
- ifstream fd( Fv );
- getline( fd, savininkas,',' );
- while ( !fd.eof() )
- {
- getline( fd, tipas, ',' );
- getline( fd, pavadinimas, ',');
- fd >> kaina;
- fd >> kiekis;
- S[i] = Saldainis( tipas, pavadinimas, kaina, kiekis );
- i++;
- n = i;
- }
- };
- double BendraKaina ( Saldainis S[], int n )
- {
- double suma = 0;
- for ( int i = 0; i < n; i++ )
- {
- suma = suma + S[i].ImtiKilogramoKainą() * S[i].ImtiSaldainiųKiekį();
- };
- return (double) suma;
- };
- int BrangiausioSaldainioIndeksas( Saldainis S[], int n )
- {
- if ( n == 0 )
- return -1;
- int k = 0;
- for ( int i = 1; i < n; i++ )
- {
- if ( S[i].ImtiKilogramoKainą() > S[k].ImtiKilogramoKainą() )
- k = i;
- };
- return k;
- };
- int KiekisLimito ( Saldainis S[], int limitas, int n )
- {
- int kiekis = 0;
- for ( int i = 0; i <= n; i++ )
- {
- if ( S[i].ImtiKilogramoKainą() > limitas )
- kiekis++;
- };
- return kiekis;
- };
- void Bendras ( Saldainis S[], Saldainis S2[], Saldainis S3[], int n1, int n2, int limitas, int & n3 )
- {
- int i;
- int k = 0;
- for ( i = 0; i < n1; i++ )
- {
- if ( S2[i].ImtiKilogramoKainą() > limitas )
- {
- S[k] = Saldainis( S2[i].ImtiTipą(), S2[i].ImtiPavadinimą(), S2[i].ImtiKilogramoKainą(), S2[i].ImtiSaldainiųKiekį() );
- k++;
- }
- }
- for ( i = 0; i < n2; i ++ )
- {
- if ( S3[i].ImtiKilogramoKainą() > limitas )
- {
- S[k] = Saldainis ( S3[i].ImtiTipą(), S3[i].ImtiPavadinimą(), S3[i].ImtiKilogramoKainą(), S3[i].ImtiSaldainiųKiekį() );
- k++;
- }
- }
- n3 = k;
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement