Advertisement
Guest User

Untitled

a guest
May 23rd, 2019
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.07 KB | None | 0 0
  1. /*
  2.  * II grupė
  3.  S.Šeštokaitė ir A.Molotkevičiūtė.
  4.  15. Faile „duomenys.dat“ yra informacija apie visus
  5.  tinklapio „ParduotuAuto.lt“ automobilius (markė,
  6.  modelis, gaminimo metai, variklio tūris, spalva, kaina).
  7.  Programa turi sugrupuoti duomenis pagal automobilio metus:
  8.  < 3 metų automobilaii 3>x<7 metų automobiliai, 7<x<12 metų
  9.  automobiliai, >12 metų automobiliai. Kiekveinoje grupėje
  10.  autombilai turi būti sugrupuoti pagal markę, modelį, variklio
  11.  tūrį ir  kainą. Rezultatai išvedami ekrane.
  12. *
  13. */
  14. #include <string.h>
  15. #include <iostream>
  16. #include <fstream>
  17.  
  18. using namespace std;
  19.  
  20. void SkaitytiFaila(int &kiekis, string marke[], string modelis[], int metai[], double turis[], double kaina[]);
  21. string FormuotiGrupe(string pavadinimas, string marke[], string modelis[],
  22.     int metai[], double turis[], double kaina[], int kiekis, int mininali,
  23.     int maksimali);
  24.  
  25. const int CMax = 300;
  26. const int CDabarMetai = 2019;
  27. const string CfailoVieta = "../duomenys.dat";
  28.  
  29. int main()
  30. {
  31.     int kiekis;
  32.     string marke[CMax];
  33.     string modelis[CMax];
  34.     int metai[CMax];
  35.     double turis[CMax];
  36.     double kaina[CMax];
  37.  
  38.     SkaitytiFaila(kiekis, marke, modelis, metai, turis, kaina);
  39.     cout<<FormuotiGrupe("x<3", marke, modelis, metai, turis, kaina, kiekis, 0, 2); //x<3
  40.     cout<<FormuotiGrupe("x<7", marke, modelis, metai, turis, kaina, kiekis, 0, 6); //x<7
  41.     cout<<FormuotiGrupe("8<x<11", marke, modelis, metai, turis, kaina, kiekis, 8, 11); //8<x<11
  42.     cout<<FormuotiGrupe("12<x", marke, modelis, metai, turis, kaina, kiekis, 13, 99999); //12<x
  43.  
  44.     return 0;
  45. }
  46.  
  47. string FormuotiGrupe(string pavadinimas, string marke[], string modelis[],
  48.     int metai[], double turis[], double kaina[], int kiekis, int mininali,
  49.     int maksimali)
  50. {
  51.     string galutinis="";
  52.     string markes = "Markes: ";
  53.     string modeliai = "Modeliai: ";
  54.     string turiai = "Turiai: ";
  55.     string kainos = "Kainos: ";
  56.     galutinis += pavadinimas + "\n";
  57.     galutinis += "----------------------------------\n";
  58.     for(int x=0; x<kiekis; x++){
  59.         if(CDabarMetai-metai[x] >= mininali  && CDabarMetai-metai[x]<= maksimali){
  60.             markes += marke[x] + " ";
  61.             modeliai += modelis[x] + " ";
  62.             turiai += to_string(turis[x]) + " ";
  63.             kainos += to_string(kaina[x]) + " ";
  64.         }
  65.     }
  66.     galutinis += markes + "\n";
  67.     galutinis += modeliai + "\n";
  68.     galutinis += turiai + "\n";
  69.     galutinis += kainos + "\n\n";
  70.     return galutinis;
  71. }
  72.  
  73. void SkaitytiFaila(int &kiekis, string marke[], string modelis[], int metai[], double turis[], double kaina[])
  74. {
  75.     string line;
  76.     ifstream myfile;
  77.     myfile.open(CfailoVieta);
  78.     bool failasnebaigtas = true;
  79.     kiekis = 0;
  80.     while (failasnebaigtas) {
  81.  
  82.         myfile >> line;
  83.         if( myfile.eof()) break;
  84.         marke[kiekis] = line;
  85.  
  86.         myfile >> modelis[kiekis];
  87.         myfile >> metai[kiekis];
  88.         myfile >> turis[kiekis];
  89.         myfile >> line;
  90.         myfile >> kaina[kiekis];
  91.         kiekis++;
  92.     }
  93.     myfile.close();
  94. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement