Guest User

Untitled

a guest
Jan 24th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.84 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.  string detales;
  17.  int kaina;
  18.  int kiekis;
  19.  string gamintojas;
  20.  
  21. public:
  22.  
  23.  parduotuve();
  24.  parduotuve(string d , int k , int ki, string g);
  25.  ~parduotuve();
  26.  string grazintidetales();
  27.  int grazintikaina();
  28.  int grazintikieki();
  29.  string 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 srautas(CRezultatuFailas);
  43.  parduotuve krautuve[CMaksimalus];
  44.  int kainusuma;
  45.  skaityti(CDuomenuFailas, krautuve, kainusuma);
  46.  spausdinti(CRezultatuFailas, krautuve, kainusuma);
  47.  return 0;
  48. }
  49. parduotuve::parduotuve(string d,int k,int ki,string g):
  50. detales(d),kaina(k),kiekis(ki),gamintojas(g) {}
  51. parduotuve::parduotuve():detales(0),kaina(0),kiekis(0),gamintojas(0) {}
  52. parduotuve::~parduotuve(){}
  53.  
  54. string 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. string 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.  string detales;
  79.  string gamintojas;
  80.  int kaina;
  81. int kiekis;
  82.  ifstream srautas(CDuomenuFailas);
  83.  srautas >> kiek;
  84.  for(int i = 0; i < kiek && i < CMaksimalus; i++) {
  85.   srautas >> detales >> kaina >> kiekis >> gamintojas;
  86.  krautuve[i] = parduotuve(detales,kaina,kiekis,gamintojas);
  87.  }
  88.  srautas.close();
  89. }
  90. void spausdinti(const char CRezultatuFailas[], parduotuve krautuve[], int & kiek)
  91. {
  92.  ofstream srautas(CRezultatuFailas, ofstream::app);
  93. srautas  << "Pradiniai duomenys: ";
  94.  for(int i = 0; i < kiek; i++)
  95.   srautas << "detaliu sarasas " << (i + 1) << ": " << krautuve[i].spausdinti() << endl;
  96. srautas  << "Rezultatai: ";
  97.  srautas  << "kainu suma: "
  98. << kainusuma(krautuve,kiek).spausdinti() << endl;
  99.  
  100.  srautas.close();
  101.  
  102. }
  103. parduotuve kainusuma(parduotuve krautuve[],int & kiek)
  104. {
  105.  parduotuve p = krautuve[0];
  106.  for(int i = 1; i < kiek; i++)
  107.   if (ksuma(krautuve[i], p))
  108.    p = krautuve[i];
  109.  return p;
  110. }
  111. int ksuma(parduotuve p1,parduotuve p2){
  112.  return (p1.grazintikaina() + p2.grazintikaina());
  113. }
Add Comment
Please, Sign In to add comment