Guest User

Untitled

a guest
Apr 6th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.95 KB | None | 0 0
  1. #include "stdafx.h"
  2. #include <iostream>
  3. #include <string>
  4. using namespace std;
  5.  
  6. struct lista
  7. {
  8.     string imie;
  9.     string nazwisko;
  10.     string PESEL;
  11.     int wiek;
  12.     lista *pop;
  13.     lista *nast;
  14. };
  15.  
  16.  
  17. void DodajElementWedlugPorzadku(lista **dane_osob)
  18. {
  19.     if ((*dane_osob) == NULL)
  20.     {
  21.         *dane_osob = new lista;
  22.         cout << "Podaj imie: ";
  23.         cin >> (*dane_osob)->imie;
  24.         cout << "Podaj nazwisko: ";
  25.         cin >> (*dane_osob)->nazwisko;
  26.         cout << "Podaj PESEL: ";
  27.         cin >> (*dane_osob)->PESEL;
  28.         cout << "Podaj wiek: ";
  29.         cin >> (*dane_osob)->wiek;
  30.         (*dane_osob)->pop = NULL;
  31.         (*dane_osob)->nast = NULL;
  32.     }
  33.     else
  34.     {
  35.         lista *dane_osob_n = *dane_osob;
  36.         while (dane_osob_n->nast != NULL)
  37.         {
  38.             dane_osob_n = dane_osob_n->nast;
  39.         }
  40.         dane_osob_n->nast = new lista;
  41.         cout << "Podaj imie: ";
  42.         cin >> dane_osob_n->nast->imie;
  43.         cout << "Podaj nazwisko: ";
  44.         cin >> dane_osob_n->nast->nazwisko;
  45.         cout << "Podaj PESEL: ";
  46.         cin >> dane_osob_n->nast->PESEL;
  47.         cout << "Podaj wiek: ";
  48.         cin >> dane_osob_n->nast->wiek;
  49.  
  50.         dane_osob_n->nast->nast = NULL;
  51.         dane_osob_n->nast->pop = dane_osob_n;
  52.  
  53.         if (dane_osob_n->nast->nazwisko <= (*dane_osob)->nazwisko)
  54.         {
  55.             swap(dane_osob_n->nast, (*dane_osob));
  56.         }
  57.  
  58.     }
  59.  
  60. }
  61.  
  62. void WyswietlDane(lista *dane_osob)
  63. {
  64.     lista *dane = dane_osob;
  65.     while (dane!= NULL)
  66.     {
  67.         cout << "Lista" << endl;
  68.         cout << dane->imie << endl;
  69.         cout << dane->nazwisko << endl;
  70.         cout << dane->PESEL << endl;
  71.         cout << dane->wiek << endl;
  72.         dane = dane->nast;
  73.     }
  74. }
  75.  
  76. int main()
  77. {
  78.     lista *dane;
  79.     dane = new lista;
  80.     dane = NULL;
  81.  
  82.     int powtorzenie_programu;
  83.     do {
  84.         cout << "[1] Dodaj element do listy dwukierunkowej z zachowaniem porzadku klucza (nazwisko)" << endl;
  85.         cout << "[2] Dodaj element do listy dwukierunkowej z zachowaniem porzadku klucza (nazwisko), wraz ze sprawdzeniem powtorzenia" << endl;
  86.         cout << "[3] Usun pierwszy element o podanej wartosci klucza" << endl;
  87.         cout << "[4] Usun wszystkie elementy o podanej wartosci klucza" << endl;
  88.         cout << "[5] Edytuj wybrany element listy dwukierunkowej" << endl;
  89.         cout << "[6] Zapisz do pliku tekstowego elementy listy dwukierunkowej na podstawie wybranych kryteriow" << endl;
  90.         cout << "[7] Wyswietl zawartosc listy dwukierunkowej na ekran" << endl;
  91.         cout << "[8] Wyprowadz na ekran plik tekstowy, ktory wczesniej utworzyles" << endl;
  92.         cout << "Jaka opcje z menu wybierasz?: ";
  93.         int wybor_opcji;
  94.         cin >> wybor_opcji;
  95.         switch (wybor_opcji)
  96.         {
  97.         case 1:
  98.         {
  99.             DodajElementWedlugPorzadku(&dane);
  100.             cout << "Czy powtorzyc program?: ";
  101.             cin >> powtorzenie_programu;
  102.             break;
  103.         }
  104.         case 2:
  105.         {
  106.             break;
  107.         }
  108.         case 3:
  109.         {
  110.             break;
  111.         }
  112.         case 4:
  113.         {
  114.             break;
  115.         }
  116.         case 5:
  117.         {
  118.             break;
  119.         }
  120.         case 6:
  121.         {
  122.             break;
  123.         }
  124.         case 7:
  125.         {
  126.             WyswietlDane(dane);
  127.             cout << "Czy powtorzyc program?: ";
  128.             cin >> powtorzenie_programu;
  129.             break;
  130.         }
  131.         case 8:
  132.         {
  133.             break;
  134.         }
  135.         }
  136.     } while (powtorzenie_programu == 1);
  137.     return 0;
  138.  
  139. }
Advertisement
Add Comment
Please, Sign In to add comment