Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string>
- #include <vector>
- #include <iterator>
- #include <sstream>
- using namespace std;
- class Masina {
- public:
- int EilNr;
- string RegNr;
- string Pavadinimas;
- string Spalva;
- int Metai;
- };
- int main()
- {
- /*
- 1 MIG29 Subaru Legacy (Juoda, 2004m)
- 2 888888 BMW 745 (Juoda, 2002m)
- 3 007 MERCEDES BENZ S320 (Pilka, 1999m)
- 4 001 HARLEY DAVIDSON V-ROD (Pilka, 2003m)
- 5 VAELGT AUDI A4 (Geltona, 2005m)
- 6 TDX998 Audi A6 (Zalia, 1999m)
- 7 AVILYS LEXUS GS 300 (Zalia, 2005m)
- 8 LT0005 BMW X5 (Melyna, 2004m)
- 9 LT0001 Subaru Legacy (Pilka, 2006m)
- 10 444444 VW NEW BEETLE (Geltona, 2003m)
- */
- ifstream Duomenys("masinos.txt");
- vector<Masina> Masinos;
- if (Duomenys.fail())
- {
- printf("Nepavyko uzkrauti duomenu failo!");
- return 0;
- }
- string linija;
- while (getline(Duomenys, linija))
- {
- stringstream ss(linija);
- vector<string> datawows;
- copy(istream_iterator<string>(ss), istream_iterator<string>(), back_inserter(datawows));
- //printf("%s\n", datawows[0].c_str()); // <---- eilNr
- linija.erase(0, datawows[0].length() + 1);
- linija.erase(0, datawows[1].length() + 1);
- // dabar kintamasis linija nebeturi nei eiles numerio nei registracijos numerio.
- // liko tik pavadinimas, spalva ir metai
- // VW NEW BEETLE (Geltona, 2003m)
- string Pavadinimas = linija;
- int Pozicija = Pavadinimas.find('(');
- //printf("%d\n", Pozicija);
- Pavadinimas.erase(Pozicija, Pavadinimas.length());
- // printf("%s\n", Pavadinimas.c_str()); // VW NEW BEETLE
- // Lieka tik spalva ir metai
- linija.erase(0, Pavadinimas.length() + 1);
- // printf("%s\n", linija.c_str()); // Geltona, 2003m)
- string Spalva = linija.substr(0, linija.find(","));
- linija.erase(0, Spalva.length() + 2);
- // metai susidaro is 4 simboliu, todel, manau, kad galiu taip daryt...
- string Metai = linija.substr(0, 4);
- Masina data;
- data.EilNr = atoi(datawows[0].c_str());
- data.RegNr = datawows[1];
- data.Pavadinimas = Pavadinimas;
- data.Spalva = Spalva;
- data.Metai = atoi(Metai.c_str());
- Masinos.push_back(data);
- }
- vector<Masina>::iterator it, end;
- for (it = Masinos.begin(), end = Masinos.end(); it != end; ++it)
- {
- 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());
- }
- system("pause");
- }
- /*
- Output:
- Eil. numeris: 1
- Masina: Subaru Legacy
- Metai: 2004
- Reg. numeris: MIG29
- Spalva: Juoda
- ------------------
- Eil. numeris: 2
- Masina: BMW 745
- Metai: 2002
- Reg. numeris: 888888
- Spalva: Juoda
- ------------------
- Eil. numeris: 3
- Masina: MERCEDES BENZ S320
- Metai: 1999
- Reg. numeris: 007
- Spalva: Pilka
- ------------------
- Eil. numeris: 4
- Masina: HARLEY DAVIDSON V-ROD
- Metai: 2003
- Reg. numeris: 001
- Spalva: Pilka
- ------------------
- Eil. numeris: 5
- Masina: AUDI A4
- Metai: 2005
- Reg. numeris: VAELGT
- Spalva: Geltona
- ------------------
- Eil. numeris: 6
- Masina: Audi A6
- Metai: 1999
- Reg. numeris: TDX998
- Spalva: Zalia
- ------------------
- Eil. numeris: 7
- Masina: LEXUS GS 300
- Metai: 2005
- Reg. numeris: AVILYS
- Spalva: Zalia
- ------------------
- Eil. numeris: 8
- Masina: BMW X5
- Metai: 2004
- Reg. numeris: LT0005
- Spalva: Melyna
- ------------------
- Eil. numeris: 9
- Masina: Subaru Legacy
- Metai: 2006
- Reg. numeris: LT0001
- Spalva: Pilka
- ------------------
- Eil. numeris: 10
- Masina: VW NEW BEETLE
- Metai: 2003
- Reg. numeris: 444444
- Spalva: Geltona
- ------------------
- Press any key to continue . . .
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement