Advertisement
Guest User

Untitled

a guest
Feb 6th, 2016
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.56 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <string>
  4. #include <vector>
  5. #include <iterator>
  6. #include <sstream>
  7.  
  8. using namespace std;
  9.  
  10. class Masina {
  11. public:
  12.     int EilNr;
  13.     string RegNr;
  14.     string Pavadinimas;
  15.     string Spalva;
  16.     int Metai;
  17. };
  18.  
  19. int main()
  20. {
  21.     /*
  22.     1 MIG29 Subaru Legacy (Juoda, 2004m)
  23.     2 888888 BMW 745 (Juoda, 2002m)
  24.     3 007 MERCEDES BENZ S320 (Pilka, 1999m)
  25.     4 001 HARLEY DAVIDSON V-ROD (Pilka, 2003m)
  26.     5 VAELGT AUDI A4 (Geltona, 2005m)
  27.     6 TDX998 Audi A6 (Zalia, 1999m)
  28.     7 AVILYS LEXUS GS 300 (Zalia, 2005m)
  29.     8 LT0005 BMW X5 (Melyna, 2004m)
  30.     9 LT0001 Subaru Legacy (Pilka, 2006m)
  31.     10 444444 VW NEW BEETLE (Geltona, 2003m)
  32.     */
  33.  
  34.     ifstream Duomenys("masinos.txt");
  35.     vector<Masina> Masinos;
  36.     if (Duomenys.fail())
  37.     {
  38.         printf("Nepavyko uzkrauti duomenu failo!");
  39.         return 0;
  40.     }
  41.  
  42.     string linija;
  43.     while (getline(Duomenys, linija))
  44.     {
  45.         stringstream ss(linija);
  46.         vector<string> datawows;
  47.         copy(istream_iterator<string>(ss), istream_iterator<string>(), back_inserter(datawows));
  48.         //printf("%s\n", datawows[0].c_str()); // <---- eilNr
  49.  
  50.         linija.erase(0, datawows[0].length() + 1);
  51.         linija.erase(0, datawows[1].length() + 1);
  52.  
  53.         // dabar kintamasis linija nebeturi nei eiles numerio nei registracijos numerio.
  54.         // liko tik pavadinimas, spalva ir metai
  55.         // VW NEW BEETLE (Geltona, 2003m)
  56.  
  57.         string Pavadinimas = linija;
  58.         int Pozicija = Pavadinimas.find('(');
  59.         //printf("%d\n", Pozicija);
  60.         Pavadinimas.erase(Pozicija, Pavadinimas.length());
  61.  
  62.         // printf("%s\n", Pavadinimas.c_str()); // VW NEW BEETLE
  63.         // Lieka tik spalva ir metai
  64.  
  65.         linija.erase(0, Pavadinimas.length() + 1);
  66.         // printf("%s\n", linija.c_str()); // Geltona, 2003m)
  67.  
  68.         string Spalva = linija.substr(0, linija.find(","));
  69.         linija.erase(0, Spalva.length() + 2);
  70.  
  71.         // metai susidaro is 4 simboliu, todel, manau, kad galiu taip daryt...
  72.         string Metai = linija.substr(0, 4);
  73.  
  74.  
  75.  
  76.         Masina data;
  77.         data.EilNr = atoi(datawows[0].c_str());
  78.         data.RegNr = datawows[1];
  79.         data.Pavadinimas = Pavadinimas;
  80.         data.Spalva = Spalva;
  81.         data.Metai = atoi(Metai.c_str());
  82.         Masinos.push_back(data);
  83.     }
  84.  
  85.     vector<Masina>::iterator it, end;
  86.    
  87.     for (it = Masinos.begin(), end = Masinos.end(); it != end; ++it)
  88.     {
  89.         printf("Eil. numeris: %d\nMasina: %s\nMetai: %d\nReg. numeris: %s\nSpalva: %s\n------------------\n\n", (*it).EilNr, (*it).Pavadinimas.c_str(), (*it).Metai, (*it).RegNr.c_str(), (*it).Spalva.c_str());
  90.     }
  91.  
  92.     system("pause");
  93. }
  94.  
  95.  
  96. /*
  97. Output:
  98.  
  99. Eil. numeris: 1
  100. Masina: Subaru Legacy
  101. Metai: 2004
  102. Reg. numeris: MIG29
  103. Spalva: Juoda
  104. ------------------
  105.  
  106. Eil. numeris: 2
  107. Masina: BMW 745
  108. Metai: 2002
  109. Reg. numeris: 888888
  110. Spalva: Juoda
  111. ------------------
  112.  
  113. Eil. numeris: 3
  114. Masina: MERCEDES BENZ S320
  115. Metai: 1999
  116. Reg. numeris: 007
  117. Spalva: Pilka
  118. ------------------
  119.  
  120. Eil. numeris: 4
  121. Masina: HARLEY DAVIDSON V-ROD
  122. Metai: 2003
  123. Reg. numeris: 001
  124. Spalva: Pilka
  125. ------------------
  126.  
  127. Eil. numeris: 5
  128. Masina: AUDI A4
  129. Metai: 2005
  130. Reg. numeris: VAELGT
  131. Spalva: Geltona
  132. ------------------
  133.  
  134. Eil. numeris: 6
  135. Masina: Audi A6
  136. Metai: 1999
  137. Reg. numeris: TDX998
  138. Spalva: Zalia
  139. ------------------
  140.  
  141. Eil. numeris: 7
  142. Masina: LEXUS GS 300
  143. Metai: 2005
  144. Reg. numeris: AVILYS
  145. Spalva: Zalia
  146. ------------------
  147.  
  148. Eil. numeris: 8
  149. Masina: BMW X5
  150. Metai: 2004
  151. Reg. numeris: LT0005
  152. Spalva: Melyna
  153. ------------------
  154.  
  155. Eil. numeris: 9
  156. Masina: Subaru Legacy
  157. Metai: 2006
  158. Reg. numeris: LT0001
  159. Spalva: Pilka
  160. ------------------
  161.  
  162. Eil. numeris: 10
  163. Masina: VW NEW BEETLE
  164. Metai: 2003
  165. Reg. numeris: 444444
  166. Spalva: Geltona
  167. ------------------
  168.  
  169. Press any key to continue . . .
  170. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement