Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <list>
- #include <iostream>
- #include <windows.h>
- #include <string>
- using namespace std;
- list<int>lista_systemu; //utworzenie listy, która przechowuje liczby całkowite
- int funkcja;
- void Wyswietl_Dane()
- {
- system("CLS");
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 12);
- cout << "SYSTEM ZARZADZANIA OBIEGIEM INFORMACJI: " << endl;
- cout <<"-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-" << endl;
- for(list<int>::iterator w=lista_systemu.begin(); w!=lista_systemu.end(); ++w)
- {
- cout << *w << " ";
- cout << endl;
- cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-" << endl << endl;
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
- }
- }
- void push_front()
- {
- string imie, nazwisko, plec;
- int dzien, miesiac, rok_urodzenia, nr_PESEL, dlugosc_PESEL, wynik;
- cout << "WSTAWIANIE DANYCH NA POCZATEK LISTY" << endl;
- cout << "Podaj plec(Kobieta/Mezczyzna): ";
- cin >> plec;
- if(plec!="Kobieta" && plec!="Mezczyzna")
- {
- printf("Niepoprawna plec!");
- Sleep(3000);
- return;
- }
- cout << "Podaj imie: ";
- cin >> imie;
- cout << "Podaj nazwisko: ";
- cin >> nazwisko;
- cout << "Podaj dzien urodzenia: ";
- cin >> dzien;
- if(dzien>31 || dzien<1)
- {
- printf("Nieprawidlowy dzien! Sprobuj od nowa.");
- Sleep(3000);
- return;
- }
- cout << "Podaj miesiac urodzenia: ";
- cin >> miesiac;
- if(miesiac>12 || miesiac<1)
- {
- printf("Nieprawidlowy miesiac! Sprobuj ponownie.");
- Sleep(3000);
- return;
- }
- cout << "Podaj rok urodzenia: ";
- cin >> rok_urodzenia;
- if(rok_urodzenia>2019 || rok_urodzenia<1900)
- {
- printf("Nieprawidlowy rok! Sprobuj wypelnic dane jeszcze raz.");
- Sleep(3000);
- return;
- }
- cout << "Podaj numer PESEL: ";
- cin >> nr_PESEL;
- unsigned char temp = std::string(nr_PESEL);
- if(temp < 11 || temp > 11)
- {
- cout << "Nieprawidlowa dlugosc PESELU. Sprobuj ponownie."
- Sleep(3000);
- return;
- }
- else {
- lista_systemu.push_front(plec[10]);
- lista_systemu.push_front(imie[30]);
- lista_systemu.push_front(nazwisko[30]);
- lista_systemu.push_front(dzien);
- lista_systemu.push_front(miesiac);
- lista_systemu.push_front(rok_urodzenia);
- lista_systemu.push_front(nr_PESEL);
- }
- }
- void push_back()
- {
- string imie, nazwisko, plec;
- int dzien, miesiac, rok_urodzenia, nr_PESEL;
- cout << "WSTAWIANIE DANYCH NA KONIEC LISTY" << endl;
- cout << "Podaj plec(Kobieta/Mezczyzna): " << endl;
- cin >> plec;
- if(plec!="Kobieta" && plec!="Mezczyzna")
- {
- printf("Niepoprawna plec!");
- return;
- }
- cout << "Podaj imie: ";
- cin >> imie;
- cout << "Podaj nazwisko: ";
- cin >> nazwisko;
- cout << "Podaj dzien urodzenia: ";
- cin >> dzien;
- cout << "Podaj miesiac urodzenia: ";
- cin >> miesiac;
- cout << "Podaj rok urodzenia: ";
- cin >> rok_urodzenia;
- cout << "Podaj numer PESEL: ";
- cin >> nr_PESEL;
- //tu wszystko będzie skopiowane z push_front
- lista_systemu.push_front(plec[10]);
- lista_systemu.push_front(imie[30]);
- lista_systemu.push_front(nazwisko[30]);
- lista_systemu.push_front(dzien);
- lista_systemu.push_front(miesiac);
- lista_systemu.push_front(rok_urodzenia);
- lista_systemu.push_front(nr_PESEL);
- }
- void pop_front()
- {
- printf("Za chwile nastapi usuniecie osoby, ktora jest na poczatku listy...");
- Sleep(3000);
- lista_systemu.pop_front();
- }
- void pop_back()
- {
- printf("Za chwile nastapi usuniecie osoby, ktora jest na koncu listy...");
- Sleep(3000);
- lista_systemu.pop_back();
- }
- void size()
- {
- cout << "Na liscie jest: " << lista_systemu.size() << "osob.";
- Sleep(3000);
- }
- void max_size()
- {
- cout << "Maksymalna ilosc osob, ktora mozna przechowac to: " << lista_systemu.max_size();
- }
- void empty()
- {
- cout << "Czy lista systemu jest pusta? Sprawdzmy... -------> ";
- if(lista_systemu.empty()==1)
- {
- cout << "Lista w systemie jest pusta.";
- }
- else cout << "Lista w systemie nie jest pusta.";
- Sleep(3000);
- }
- void remove()
- {
- int nr_PESEL ;
- cout << "Usuwanie pozycji o tym samym PESELU: ";
- cin >> nr_PESEL;
- Sleep(3000);
- }
- void sort()
- {
- cout <<"Za chwile nastapi posortowanie listy wedlug identyfikatora: ";
- lista_systemu.sort();
- Sleep(3000);
- }
- void reverse()
- {
- cout <<"Za chwile nastapi posortowanie listy w odwrotnej kolejnosci: ";
- lista_systemu.reverse();
- Sleep(3000);
- }
- void exit()
- {
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 14);
- cout << "Za chwile nastapi zamkniecie programu! Zapraszamy ponownie.";
- Sleep(3500);
- SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 0);
- }
- int main()
- {
- do
- {
- Wyswietl_Dane();
- cout << "MENU GLOWNE LISTY SYSTEMU: " << endl;
- cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-" << endl;
- cout << "1. push_front - dodawanie na poczatku listy" << endl;
- cout << "2. push_back - dodawanie na koncu listy" << endl;
- cout << "3. pop_front - usuwanie na poczatku listy" << endl;
- cout << "4. pop_back - usuwanie na koncu listy" << endl;
- cout << "5. size - sprawdzenie ilosci elementow na liscie" << endl;
- cout << "6. max_size - sprawdzenie maksymalnej ilosci elementow na liscie" << endl;
- cout << "7. empty - sprawdzenie, czy lista jest pusta" << endl;
- cout << "8. remove - usuniecie osoby o takim samym numerze PESEL" << endl;
- cout << "9. sort - sortowanie listy systemu rosnaco" << endl;
- cout << "10. reverse - sortowanie listy w odwrotnej kolejnosci" << endl;
- cout << "11. exit - wyjscie z programu" << endl;
- cout << "-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-" << endl;
- cout << "Wybor funkcji: ";
- cin >> funkcja;
- switch(funkcja)
- {
- case 1: push_front(); break;
- case 2: push_back(); break;
- case 3: pop_front(); break;
- case 4: pop_back(); break;
- case 5: size(); break;
- case 6: max_size(); break;
- case 7: empty(); break;
- case 8: remove(); break;
- case 9: sort(); break;
- case 10: reverse(); break;
- case 11: exit(); break;
- default:
- cout << "Ups! Cos poszlo nie tak!";
- Sleep(3000);
- break;
- }
- }
- while(funkcja!=11);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement