Guest User

Untitled

a guest
Jan 24th, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.80 KB | None | 0 0
  1.  
  2. #include <sstream>
  3. #include <iostream>
  4. #include <fstream>
  5. #include <string>
  6.  using namespace std;
  7.  //---------------------------------------------
  8.  const char CDuomenuFailas[] = "parduotuve.txt";  
  9.  const char CRezultatuFailas[] = "Rezultatai.txt";
  10.  const int CMaksimalus  =  30;
  11.  //---------------------------------------
  12. class parduotuve
  13. {
  14. private:
  15.  
  16.  int detales;
  17.  int kaina;
  18.  int kiekis;
  19.  int gamintojas;
  20.  
  21. public:
  22.  
  23.  parduotuve();
  24.  parduotuve(int d , int k , int ki, int g);
  25.  ~parduotuve();
  26.  int grazintidetales();
  27.  int grazintikaina();
  28.  int grazintikieki();
  29.  int grazintigamintoja();
  30.  string spausdinti();
  31. };
  32. void skaityti(const char CDuomenuFailas[], parduotuve krautuve[], int & kiek);
  33.  
  34. void spausdinti(const char CRezultatuFailas[], parduotuve krautuve[], int & kiek);
  35.  
  36. parduotuve kainusuma(parduotuve krautuve[],int & kiek);
  37.  
  38. int ksuma(parduotuve p1,parduotuve p2);
  39.  
  40. int main()
  41. {
  42.  ofstream fr(CRezultatuFailas); fr.close();
  43.  parduotuve krautuve[CMaksimalus];
  44.  int kainusuma;
  45.  skaityti(CDuomenuFailas, krautuve, kainusuma);
  46.  spausdinti(CRezultatuFailas, krautuve, kainusuma);
  47.  return 0;
  48. }
  49. parduotuve::parduotuve(int d,int k,int ki,int g):
  50. detales(d),kaina(k),kiekis(k),gamintojas(g) {}
  51. parduotuve::parduotuve():detales(0),kaina(0),kiekis(0),gamintojas(0) {}
  52. parduotuve::~parduotuve(){}
  53.  
  54. int parduotuve::grazintidetales()
  55. {
  56.  return detales;
  57. }
  58. int parduotuve::grazintikaina()
  59. {
  60.  return kaina;
  61. }
  62. int parduotuve::grazintikieki()
  63. {
  64.  return kiekis;
  65. }
  66. int parduotuve::grazintigamintoja()
  67. {
  68.  return gamintojas;
  69. }
  70. string parduotuve::spausdinti()
  71. {
  72.  stringstream srautas;
  73.  srautas<<"detales: "<<detales<<"kaina: "<<kaina<<"kiekis: "<<kiekis<<"gamintojas: "<<gamintojas <<endl;
  74.  return srautas.str();
  75. }
  76. void skaityti(const char CDuomenuFailas[],parduotuve krautuve[],int & kiek)
  77. {
  78.  int detales, kaina, kiekis, gamintojas;
  79.  ifstream srautas(CDuomenuFailas);
  80.  srautas >> kiek;
  81.  for(int i = 0; i < kiek && i < CMaksimalus; i++) {
  82.   srautas >> detales >> kaina >> kiekis >> gamintojas;
  83.   krautuve[i] = parduotuve(detales,kaina,kiekis,gamintojas);
  84.  }
  85.  srautas.close();
  86. }
  87. void spausdinti(const char CRezultatuFailas[], parduotuve krautuve[], int & kiek)
  88. {
  89.  ofstream srautas(CRezultatuFailas, ofstream::app);
  90. srautas  << "Pradiniai duomenys: ";
  91.  for(int i = 0; i < kiek; i++)
  92.   srautas << "detaliu sarasas " << (i + 1) << ": " << krautuve[i].spausdinti() << endl;
  93. srautas  << "Rezultatai: ";
  94.  srautas  << "kainu suma: "
  95. << kainusuma(krautuve,kiek).spausdinti() << endl;
  96.  
  97.  srautas.close();
  98.  
  99. }
  100. parduotuve kainusuma(parduotuve krautuve[],int & kiek)
  101. {
  102.  parduotuve p = krautuve[0];
  103.  for(int i = 1; i < kiek; i++)
  104.   if (ksuma(krautuve[i], p))
  105.    p = krautuve[i];
  106.  return p;
  107. }
  108. int ksuma(parduotuve p1,parduotuve p2){
  109.  return (p1.grazintikaina() + p2.grazintikaina());
  110. }
Add Comment
Please, Sign In to add comment