Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <list>
- #include <iostream>
- #include <string>
- void menu ()
- {
- std::cout << "MENU GLOWNE LISTY SYSTEMU:\n";
- std::cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-\n";
- std::cout << "1. push_front - dodawanie na poczatku listy\n";
- std::cout << "2. push_back - dodawanie na koncu listy\n";
- std::cout << "3. pop_front - usuwanie na poczatku listy\n";
- std::cout << "4. pop_back - usuwanie na koncu listy\n";
- std::cout << "5. size - sprawdzenie ilosci elementow na liscie\n";
- std::cout << "6. max_size - sprawdzenie maksymalnej ilosci elementow na liscie\n";
- std::cout << "7. empty - sprawdzenie, czy lista jest pusta\n";
- std::cout << "8. remove - usuniecie osoby o takim samym numerze PESEL\n";
- std::cout << "9. sort - sortowanie listy systemu rosnaco\n";
- std::cout << "10. reverse - sortowanie listy w odwrotnej kolejnosci\n";
- std::cout << "11. exit - wyjscie z programu\n";
- std::cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-\n";
- std::cout << "Wybor funkcji: ";
- }
- void push_back_data_func (std::string imie, std::string nazwisko, std::string plec, int dzien, int miesiac, int rok_urodzenia, long pesel, std::list <int> my_list );
- void push_front_data_func (std::string imie, std::string nazwisko, std::string plec, int dzien, int miesiac, int rok_urodzenia, long pesel, std::list <int> my_list,
- std::string pesel_length_as_text, int pesel_length );
- void pop_front_data (std::list <int> my_list);
- void pop_back_data (std::list <int> my_list);
- void size_list (std::list <int> my_list);
- void max_size_list (std::list <int> my_list);
- void empty_list (std::list <int> my_list);
- void remove_data (long pesel);
- void sort_data (std::list <int> my_list);
- void reverse_data_func (std::list <int> my_list);
- void exit_app();
- int main ()
- {
- std::string imie;
- std::string nazwisko;
- std::string plec;
- int dzien;
- int miesiac;
- int rok_urodzenia;
- long pesel;
- std::string pesel_length_as_text;
- std::list <int> lista_systemu;
- int menuNumber;
- int pesel_length;
- do {
- menu();
- std::cin>>menuNumber;
- switch (menuNumber)
- {
- case 1:
- push_front_data_func(imie,nazwisko,plec,dzien,miesiac,rok_urodzenia,pesel,lista_systemu, pesel_length_as_text, pesel_length);
- break;
- case 2:
- push_back_data_func(imie,nazwisko,plec,dzien,miesiac,rok_urodzenia,pesel,lista_systemu);
- break;
- case 3:
- pop_front_data(lista_systemu);
- break;
- case 4:
- pop_back_data(lista_systemu);
- break;
- case 5:
- size_list(lista_systemu);
- break;
- case 6:
- max_size_list(lista_systemu);
- break;
- case 7:
- empty_list(lista_systemu);
- break;
- case 8:
- remove_data(pesel);
- break;
- case 9:
- sort_data(lista_systemu);
- break;
- case 10:
- reverse_data_func(lista_systemu);
- break;
- case 11:
- exit_app();
- break;
- default:
- std::cout << "Ups! Cos poszlo nie tak!\n";
- break;
- } //switch
- } while (menuNumber != 0);
- return 0;
- } // int main ()
- void push_front_data_func(std::string imie, std::string nazwisko, std::string plec, int dzien, int miesiac, int rok_urodzenia, long pesel, std::list <int> my_list, std::string pesel_length_as_text, int pesel_length )
- {
- std::cout << "WSTAWIANIE DANYCH NA POCZATEK LISTY";
- std::cout << "Podaj plec(Kobieta/Mezczyzna): ";
- std::cin >> plec;
- if((plec!="Kobieta") && (plec!="Mezczyzna"))
- {
- std::cout << "Niepoprawna plec!";
- return;
- }
- std::cout << "Podaj imie: ";
- std::cin >> imie;
- std::cout << "Podaj nazwisko: ";
- std::cin >> nazwisko;
- std::cout << "Podaj dzien urodzenia: ";
- std::cin >> dzien;
- if(dzien>31 || dzien<1)
- {
- std::cout << "Nieprawidlowy dzien! Sprobuj od nowa.";
- return;
- }
- std::cout << "Podaj miesiac urodzenia: ";
- std::cin >> miesiac;
- if(miesiac>12 || miesiac<1)
- {
- std::cout << "Nieprawidlowy miesiac! Sprobuj ponownie.";
- return;
- }
- std::cout << "Podaj rok urodzenia: ";
- std::cin >> rok_urodzenia;
- if(rok_urodzenia>2019 || rok_urodzenia<1900)
- {
- std::cout << "Nieprawidlowy rok! Sprobuj wypelnic dane jeszcze raz.";
- return;
- }
- std::cout << "Podaj swoj PESEL(powinien miec 11 cyfr): ";
- std::cin >> pesel;
- pesel_length_as_text = std::to_string (pesel);
- pesel_length = pesel_length_as_text.length();
- if(pesel_length != 11){
- std::cout<<"Blad!";
- return;
- }else {
- std::cout<<"11";
- my_list.push_front(plec[10]);
- my_list.push_front(imie[30]);
- my_list.push_front(nazwisko[30]);
- my_list.push_front(dzien);
- my_list.push_front(miesiac);
- my_list.push_front(rok_urodzenia);
- my_list.push_front(pesel);
- }
- }
- void push_back_data_func(std::string imie, std::string nazwisko, std::string plec, int dzien, int miesiac, int rok_urodzenia, long pesel, std::list <int> my_list )
- {
- std::cout << "WSTAWIANIE DANYCH NA KONIEC LISTY";
- std::cout << "Podaj plec(Kobieta/Mezczyzna): ";
- std::cin >> plec;
- if((plec!="Kobieta") && (plec!="Mezczyzna"))
- {
- std::cout << "Niepoprawna plec!";
- return;
- }
- std::cout << "Podaj imie: ";
- std::cin >> imie;
- std::cout << "Podaj nazwisko: ";
- std::cin >> nazwisko;
- std::cout << "Podaj dzien urodzenia: ";
- std::cin >> dzien;
- std::cout << "Podaj miesiac urodzenia: ";
- std::cin >> miesiac;
- std::cout << "Podaj rok urodzenia: ";
- std::cin >> rok_urodzenia;
- std::cout << "Podaj numer PESEL: ";
- std::cin >> pesel;
- my_list.push_back(plec[10]);
- my_list.push_back(imie[30]);
- my_list.push_back(nazwisko[30]);
- my_list.push_back(dzien);
- my_list.push_back(miesiac);
- my_list.push_back(rok_urodzenia);
- my_list.push_back(pesel);
- }
- void pop_front_data(std::list <int> my_list)
- {
- std::cout << "Za chwile nastapi usuniecie osoby, ktora jest na poczatku listy...";
- my_list.pop_front();
- }
- void pop_back_data(std::list <int> my_list)
- {
- std::cout << "Za chwile nastapi usuniecie osoby, ktora jest na koncu listy...";
- my_list.pop_back();
- }
- void size_list(std::list <int> my_list)
- {
- std::cout << "Na liscie jest: " << my_list.size() << "osob.";
- }
- void max_size_list(std::list <int> my_list)
- {
- std::cout << "Maksymalna ilosc osob, ktora mozna przechowac to: " << my_list.max_size();
- }
- void empty_list(std::list <int> my_list)
- {
- std::cout << "Czy lista systemu jest pusta? Sprawdzmy... -------> ";
- if(my_list.empty()==1)
- {
- std::cout << "Lista w systemie jest pusta.";
- }
- else {
- std::cout << "Lista w systemie nie jest pusta.";
- }
- }
- void remove_data(long pesel)
- {
- std::cout << "Usuwanie pozycji o tym samym PESELU: ";
- std::cin >> pesel;
- }
- void sort_data(std::list <int> my_list)
- {
- std::cout <<"Za chwile nastapi posortowanie listy wedlug identyfikatora: ";
- my_list.sort();
- }
- void reverse_data_func(std::list <int> my_list)
- {
- std::cout <<"Za chwile nastapi posortowanie listy w odwrotnej kolejnosci: ";
- my_list.reverse();
- }
- void exit_app()
- {
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement