Advertisement
Guest User

Untitled

a guest
Jan 4th, 2019
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.47 KB | None | 0 0
  1. #include <list>
  2. #include <iostream>
  3. #include <string>
  4.  
  5. void menu ()
  6. {
  7.     std::cout << "MENU GLOWNE LISTY SYSTEMU:\n";
  8.     std::cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-\n";
  9.     std::cout << "1. push_front - dodawanie na poczatku listy\n";
  10.     std::cout << "2. push_back - dodawanie na koncu listy\n";
  11.     std::cout << "3. pop_front - usuwanie na poczatku listy\n";
  12.     std::cout << "4. pop_back - usuwanie na koncu listy\n";
  13.     std::cout << "5. size - sprawdzenie ilosci elementow na liscie\n";
  14.     std::cout << "6. max_size - sprawdzenie maksymalnej ilosci elementow na liscie\n";
  15.     std::cout << "7. empty - sprawdzenie, czy lista jest pusta\n";
  16.     std::cout << "8. remove - usuniecie osoby o takim samym numerze PESEL\n";
  17.     std::cout << "9. sort - sortowanie listy systemu rosnaco\n";
  18.     std::cout << "10. reverse - sortowanie listy w odwrotnej kolejnosci\n";
  19.     std::cout << "11. exit - wyjscie z programu\n";
  20.     std::cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-\n";
  21.     std::cout << "Wybor funkcji: ";
  22. }
  23.  
  24.  
  25. 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 );
  26. 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,
  27.                      std::string pesel_length_as_text, int pesel_length );
  28. void pop_front_data (std::list <int> my_list);
  29. void pop_back_data (std::list <int> my_list);
  30. void size_list (std::list <int> my_list);
  31. void max_size_list (std::list <int> my_list);
  32. void empty_list (std::list <int> my_list);
  33. void remove_data (long pesel);
  34. void sort_data (std::list <int> my_list);
  35. void reverse_data_func (std::list <int> my_list);
  36. void exit_app();
  37.  
  38.  
  39. int main ()
  40. {
  41. std::string imie;
  42. std::string nazwisko;
  43. std::string plec;
  44. int dzien;
  45. int miesiac;
  46. int rok_urodzenia;
  47. long pesel;
  48. std::string pesel_length_as_text;
  49. std::list <int> lista_systemu;
  50. int menuNumber;
  51. int pesel_length;
  52.  
  53. do {
  54.     menu();
  55.     std::cin>>menuNumber;
  56.  
  57.     switch (menuNumber)
  58.     {
  59.     case 1:
  60.         push_front_data_func(imie,nazwisko,plec,dzien,miesiac,rok_urodzenia,pesel,lista_systemu, pesel_length_as_text, pesel_length);
  61.         break;
  62.     case 2:
  63.         push_back_data_func(imie,nazwisko,plec,dzien,miesiac,rok_urodzenia,pesel,lista_systemu);
  64.         break;
  65.     case 3:
  66.         pop_front_data(lista_systemu);
  67.         break;
  68.     case 4:
  69.         pop_back_data(lista_systemu);
  70.         break;
  71.     case 5:
  72.         size_list(lista_systemu);
  73.         break;
  74.     case 6:
  75.         max_size_list(lista_systemu);
  76.         break;
  77.     case 7:
  78.         empty_list(lista_systemu);
  79.         break;
  80.     case 8:
  81.         remove_data(pesel);
  82.         break;
  83.     case 9:
  84.         sort_data(lista_systemu);
  85.         break;
  86.     case 10:
  87.         reverse_data_func(lista_systemu);
  88.         break;
  89.     case 11:
  90.         exit_app();
  91.         break;
  92.  
  93.     default:
  94.         std::cout << "Ups! Cos poszlo nie tak!\n";
  95.         break;
  96.     } //switch
  97.  
  98. } while (menuNumber != 0);
  99.  
  100. return 0;
  101.  
  102. } // int main ()
  103.  
  104. 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 )
  105. {
  106.         std::cout << "WSTAWIANIE DANYCH NA POCZATEK LISTY";
  107.         std::cout << "Podaj plec(Kobieta/Mezczyzna): ";
  108.         std::cin >> plec;
  109.         if((plec!="Kobieta") && (plec!="Mezczyzna"))
  110.         {
  111.             std::cout << "Niepoprawna plec!";
  112.             return;
  113.         }
  114.         std::cout << "Podaj imie: ";
  115.         std::cin >> imie;
  116.         std::cout << "Podaj nazwisko: ";
  117.         std::cin >> nazwisko;
  118.         std::cout << "Podaj dzien urodzenia: ";
  119.         std::cin >> dzien;
  120.         if(dzien>31 || dzien<1)
  121.         {
  122.             std::cout << "Nieprawidlowy dzien! Sprobuj od nowa.";
  123.             return;
  124.         }
  125.         std::cout << "Podaj miesiac urodzenia: ";
  126.         std::cin >> miesiac;
  127.         if(miesiac>12 || miesiac<1)
  128.         {
  129.             std::cout << "Nieprawidlowy miesiac! Sprobuj ponownie.";
  130.             return;
  131.         }
  132.         std::cout << "Podaj rok urodzenia: ";
  133.         std::cin >> rok_urodzenia;
  134.         if(rok_urodzenia>2019 || rok_urodzenia<1900)
  135.         {
  136.             std::cout << "Nieprawidlowy rok! Sprobuj wypelnic dane jeszcze raz.";
  137.             return;
  138.         }
  139.  
  140.         std::cout << "Podaj swoj PESEL(powinien miec 11 cyfr): ";
  141.         std::cin >> pesel;
  142.  
  143.         pesel_length_as_text = std::to_string (pesel);
  144.         pesel_length = pesel_length_as_text.length();
  145.  
  146.         if(pesel_length != 11){
  147.             std::cout<<"Blad!";
  148.                 return;
  149.         }else {
  150.                 std::cout<<"11";
  151.  
  152.         my_list.push_front(plec[10]);
  153.         my_list.push_front(imie[30]);
  154.         my_list.push_front(nazwisko[30]);
  155.         my_list.push_front(dzien);
  156.         my_list.push_front(miesiac);
  157.         my_list.push_front(rok_urodzenia);
  158.         my_list.push_front(pesel);
  159.         }
  160. }
  161.  
  162. 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 )
  163. {
  164.     std::cout << "WSTAWIANIE DANYCH NA KONIEC LISTY";
  165.     std::cout << "Podaj plec(Kobieta/Mezczyzna): ";
  166.     std::cin >> plec;
  167.     if((plec!="Kobieta") && (plec!="Mezczyzna"))
  168.     {
  169.         std::cout << "Niepoprawna plec!";
  170.         return;
  171.     }
  172.     std::cout << "Podaj imie: ";
  173.     std::cin >> imie;
  174.     std::cout << "Podaj nazwisko: ";
  175.     std::cin >> nazwisko;
  176.     std::cout << "Podaj dzien urodzenia: ";
  177.     std::cin >> dzien;
  178.     std::cout << "Podaj miesiac urodzenia: ";
  179.     std::cin >> miesiac;
  180.     std::cout << "Podaj rok urodzenia: ";
  181.     std::cin >> rok_urodzenia;
  182.     std::cout << "Podaj numer PESEL: ";
  183.     std::cin >> pesel;
  184.  
  185.  
  186.     my_list.push_back(plec[10]);
  187.     my_list.push_back(imie[30]);
  188.     my_list.push_back(nazwisko[30]);
  189.     my_list.push_back(dzien);
  190.     my_list.push_back(miesiac);
  191.     my_list.push_back(rok_urodzenia);
  192.     my_list.push_back(pesel);
  193. }
  194.  
  195. void pop_front_data(std::list <int> my_list)
  196. {
  197.    std::cout << "Za chwile nastapi usuniecie osoby, ktora jest na poczatku listy...";
  198.    my_list.pop_front();
  199. }
  200.  
  201. void pop_back_data(std::list <int> my_list)
  202. {
  203.     std::cout << "Za chwile nastapi usuniecie osoby, ktora jest na koncu listy...";
  204.     my_list.pop_back();
  205. }
  206.  
  207. void size_list(std::list <int> my_list)
  208. {
  209.     std::cout << "Na liscie jest: " << my_list.size() << "osob.";
  210. }
  211.  
  212. void max_size_list(std::list <int> my_list)
  213. {
  214.     std::cout << "Maksymalna ilosc osob, ktora mozna przechowac to: " << my_list.max_size();
  215. }
  216.  
  217. void empty_list(std::list <int> my_list)
  218. {
  219.     std::cout << "Czy lista systemu jest pusta? Sprawdzmy... -------> ";
  220.     if(my_list.empty()==1)
  221.     {
  222.         std::cout << "Lista w systemie jest pusta.";
  223.     }
  224.     else {
  225.         std::cout << "Lista w systemie nie jest pusta.";
  226.     }
  227. }
  228.  
  229. void remove_data(long pesel)
  230. {
  231.     std::cout << "Usuwanie pozycji o tym samym PESELU: ";
  232.     std::cin >> pesel;
  233. }
  234.  
  235. void sort_data(std::list <int> my_list)
  236. {
  237.     std::cout <<"Za chwile nastapi posortowanie listy wedlug identyfikatora: ";
  238.     my_list.sort();
  239. }
  240. void reverse_data_func(std::list <int> my_list)
  241. {
  242.     std::cout <<"Za chwile nastapi posortowanie listy w odwrotnej kolejnosci: ";
  243.     my_list.reverse();
  244. }
  245.  
  246. void exit_app()
  247. {
  248.  
  249. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement