#include <iostream>
#include <fstream>
#include <string>
#include <algorithm>
#include <list>
using namespace std;
class Persona
{
string imie, nazwisko;
public:
Persona(string i, string n) : imie(i), nazwisko(n)
{}
void wypisz()
{
cout << imie << " " << nazwisko << " " << endl;
}
string GetKey1()
{
return nazwisko;
}
string GetKey2()
{
return imie;
}
};
template<typename T>
void Printlist(list<T>& lst)
{
for (auto i = lst.begin(); i != lst.end(); i++)
{
(*i).wypisz();
}
}
int main()
{
list<Persona> word;
string im, nazw;
ifstream plik;
plik.open("persona.txt", ios::in);
if (plik.good() == false)
{
cout << "Plik nie istnieje" << endl;
exit(0);
}
do
{
getline(plik, im, ' ');
getline(plik, nazw);
word.push_back(Persona(im, nazw));
} while (word.size() != 20);
//plik.close();
cout << "Lista: " << endl;
Printlist(word);
cout << "\n\n";
}
Dzień dobry. Mam taki problem, że musze posortować dane w pliku według imion i nazwisk.
Plik ma taką informację: (2 słowa w jednej linijce, jest to obowiązkowo)
Mikolaj Plank
Elzbieta Felak
Andrzej Felak
Marek Kostkowski
Teodozja Lorant
Antoni Lorant
Klara Onyx
Lucjan Larbinski
...
Problem polega na tym, że nie wiem, jak musze to posortować, sortowanie musze być wykonane za pomocą wszystkich Getów, i metody wypisz. Czego brakuje w moim kodzie? Potrzebuję tylko podpowiedzi, ponieważ sam chcę to zrozumieć