Ledger Nano X - The secure hardware wallet
SHARE
TWEET

Untitled

a guest Mar 28th, 2020 72 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include<fstream>
  4. #include <conio.h>
  5.  
  6. using namespace std;
  7.  
  8.  
  9.  
  10.  
  11. class Element
  12. {
  13. public:
  14.     Element *nast,*pop;
  15.     int ID;
  16.     Element(int id){
  17.         ID=id;
  18.         nast=NULL;
  19.         pop=NULL;
  20.     }
  21.    
  22.     void drukuj(){
  23.     cout << "ID:";
  24.     }
  25.    
  26.     virtual void intro(){
  27.     cout << "Element z id:" << ID <<endl;
  28.     }
  29.    
  30. //klasę pochodną zwierzę zawierającą pola imię i wiek
  31.  
  32.     virtual string GetName(){
  33.         return "Element";
  34.     }
  35.    
  36.     virtual int getWiek(){
  37.         return 0;
  38.     }
  39.    
  40.     virtual void zapiszDoPliku(ofstream *plik){
  41.     (*plik) << "Element"<<endl;
  42.     (*plik) << "ID: " << ID <<endl;
  43.     }
  44. };
  45. class zwierze :public Element
  46. {
  47. public:
  48.   string imie;
  49.   int wiek;
  50.   zwierze(string N,int W,int I): Element(I){
  51.     imie=N;
  52.     wiek=W;
  53.     }
  54.   string getType(){
  55.     return "Zwierze:";
  56.     }
  57.    
  58.     string getImie(){
  59.     return imie;
  60.     }
  61.        
  62.     int getWiek(){
  63.     return wiek;
  64.     }
  65.     void intro(){
  66.     cout << getType() << " " << imie << ", wiek: " << wiek << "\n";
  67.     }
  68.    
  69.     void zapiszDoPliku(ofstream *plik) {
  70.     (*plik) << getType()<<endl;
  71.     (*plik) << "ID: " << ID << " Imie: " << imie << " Wiek: " << wiek <<endl;
  72.     }
  73. };
  74.  
  75. class Kot: public zwierze{
  76.     public:
  77.         Kot(string N,int W,int I):zwierze(N,W,I){}
  78.        
  79.         string getType(){
  80.         return "Kot";
  81.         }
  82. };
  83. class Pies: public zwierze{
  84.     public:
  85.         Pies(string N,int W,int I):zwierze(N,W,I){}
  86.        
  87.         string getType(){
  88.         return "Pies";
  89.         }
  90. };
  91.  
  92. class Lista
  93. {
  94. public:
  95.     Element *pierwszy, *ostatni;
  96.     int ilosc;
  97.    
  98.     Lista()
  99.     {
  100.         pierwszy=NULL;
  101.         ostatni=NULL;
  102.         ilosc=0;
  103.     }
  104.  
  105.     void drukuj()
  106.     {
  107.         Element * temp =pierwszy;
  108.         while (temp) /*temp!=NULL*/
  109.         {
  110.             temp->intro();
  111.             temp=temp->nast;
  112.         }
  113.     }
  114.             Element *Utworz(int id) {
  115.             return new Element(id);
  116.         }
  117.          void dodaj_na_koniec(Element * E) //to mam zamienic
  118.     {
  119.         if (pierwszy==NULL)
  120.         {
  121.             pierwszy=E;
  122.             ostatni=E;
  123.         }
  124.         else
  125.         {
  126.             ostatni->nast = E; /* za ostatnim stoi nowy*/
  127.             E->pop=ostatni; /*przed nowym ma stac ostatni */
  128.             ostatni =E; /* ostatni element staje sie przedostatnim,
  129.                             a role ostatniego spelnia nowy*/
  130.         }
  131.         ilosc++;
  132.     }
  133.    
  134.     Element *Utworz(int id) {
  135.     return new Element(id);
  136.     }
  137. };
  138. class zoo:public Lista{
  139.     public:
  140.         void dodajZwierze(){
  141.             int flag=1;
  142.             while(flag){
  143.                 string typ;
  144.                 cout<<"Jakie zwierze dodajesz?(kot,pies)";
  145.                 cin>>typ;
  146.                 if(typ=="kot"){
  147.                 dodaj_na_koniec(UtworzKota());
  148.                 flag=0;
  149.                 }
  150.             else if( typ == "pies" ){
  151.                 dodaj_na_koniec( UtworzPsa() );
  152.                 flag = 0;
  153.             }
  154.            
  155.             else{
  156.                 cout << "Nieprawidlowy typ zwierzecia \n";
  157.             }
  158.         }
  159.     }
  160.  
  161.         void wyszukajPoImieniu(){
  162.             string imie;
  163.             cout << "Podaj imie: ";
  164.             cin >> imie;
  165.             Element *Temp = pierwszy;
  166.             while( Temp ) {
  167.                 if( Temp->getImie() == imie ){
  168.                     Temp->intro();  
  169.                 }
  170.                 Temp = Temp->nast;
  171.             }
  172.         }
  173.        
  174.         void wyszukajPoWieku(){
  175.             int wiek;
  176.             cout << "Podaj wiek: ";
  177.             cin >> wiek;
  178.             Element *Temp = pierwszy;
  179.             while( Temp ) {
  180.                 if( Temp->getWiek() == wiek ){
  181.                     Temp->intro();  
  182.                 }
  183.                 Temp = Temp->nast;
  184.             }
  185.         }
  186.        
  187.         void wyszukajPoImieniuIWieku(){
  188.             string imie;
  189.             cout << "Podaj imie: ";
  190.             cin >> imie;
  191.             int wiek;
  192.             cout << "Podaj wiek: ";
  193.             cin >> wiek;
  194.             Element *Temp = pierwszy;
  195.             while( Temp ) {
  196.                 if( Temp->getWiek() == wiek && Temp->getImie() == imie ){
  197.                     Temp->intro();  
  198.                 }
  199.                 Temp = Temp->nast;
  200.             }
  201.         }
  202.  
  203.         Kot *UtworzKota() {
  204.             string imie;
  205.             int wiek;
  206.             cout << "Podaj imie: ";
  207.             cin >> imie;
  208.             cout << "Podaj wiek: ";
  209.             cin >> wiek;
  210.             return new Kot(imie, wiek, ilosc);
  211.         }
  212.  
  213.         Pies *UtworzPsa() {
  214.             string imie;
  215.             int wiek;
  216.             cout << "Podaj imie: ";
  217.             cin >> imie;
  218.             cout << "Podaj wiek: ";
  219.             cin >> wiek;
  220.             return new Pies(imie, wiek, ilosc);
  221.         }
  222.    void zapisz_do_pliku()
  223.    {
  224.         ofstream plik;
  225.         plik.open("lista1.txt");
  226.         if (!plik.good()) {cout << "blad otwarcia";exit(10);}
  227.         plik << "zoo " <<ilosc<<endl;
  228.         Element * temp=pierwszy;
  229.         while(temp)
  230.         {
  231.            temp->zapisz_do_pliku(&plik);
  232.            temp=temp->get_nast();
  233.         }
  234.  
  235.         plik.close();
  236.    }
  237.  
  238. void odczyt_z_pliku()
  239. {
  240.     ifstream plik;
  241.     plik.open("lista1.txt");
  242.     if (!plik.good()) {cout << "blad otwarcia 1";exit(10);}
  243.     ///Lista ilosc
  244.     string text;
  245.     plik >> text;
  246.     if (text!="zoo") {cout << "blad otwarcia 2"<<text;exit(10);}
  247.     int I;
  248.     plik >> I;///ilosc
  249.     for (int i =0;i<I;i++)
  250.     {
  251.         plik >> text;
  252.         string IdNaglowek, ImieNaglowek, WiekNaglowek;
  253.         string imie;
  254.         int id, wiek;
  255.        
  256.               if( text == "Kot" || text == "Pies" ){
  257.                     plik >> IdNaglowek;
  258.                     if( IdNaglowek != "ID:" ){ cout << "blad otwarcia 3 "<<IdNaglowek;exit(10); }
  259.                     plik >> id;
  260.                    
  261.                    
  262.                     plik >> ImieNaglowek;
  263.                     if( ImieNaglowek != "Imie:" ){ cout << "blad otwarcia 4 "<<ImieNaglowek;exit(10); }
  264.                     plik >> imie;
  265.                    
  266.                    
  267.                     plik >> WiekNaglowek;
  268.                     if( WiekNaglowek != "Wiek:" ){ cout << "blad otwarcia 5 "<<WiekNaglowek;exit(10); }
  269.                     plik >> wiek;
  270.                    
  271.                     if( text == "Kot" ){
  272.                         Kot *kot = new Kot(imie, wiek, id);
  273.                         dodaj_na_koniec(kot);
  274.                     }
  275.                     if( text == "Pies" ){
  276.                         Pies *pies = new Pies(imie, wiek, id);
  277.                         dodaj_na_koniec(pies);
  278.                     }
  279.                 }
  280.                 else{
  281.                     cout << "blad odczytu";
  282.                     exit(10);  
  283.      }
  284.     }
  285.     plik.close();
  286. }
  287.    
  288.    
  289.     void menu(int numer){
  290.     if( numer == 0 ){
  291.         cout << "> 1. Zapisz do zoo.txt\n";
  292.     }else{
  293.         cout << "1. Zapisz do zoo.txt\n";
  294.     }
  295.     if( numer == 1 ){
  296.         cout << "> 2. Odczytaj z zoo.txt\n";
  297.     }else{
  298.         cout << "2. Odczytaj z zoo.txt\n";
  299.     }
  300.     if( numer == 2 ){
  301.         cout << "> 3. Dodaj zwierzaka\n";
  302.     }else{
  303.         cout << "3. Dodaj zwierzaka\n";
  304.     }
  305.     if( numer == 3 ){
  306.         cout << "> 4. Wyszukaj po imieniu\n";
  307.     }else{
  308.         cout << "4. Wyszukaj po imieniu\n";
  309.     }
  310.     if( numer == 4 ){
  311.         cout << "> 5. Wyszukaj po wieku\n";
  312.     }else{
  313.         cout << "5. Wyszukaj po wieku\n";
  314.     }
  315.     if( numer == 5 ){
  316.         cout << "> 6. Wyszukaj po imieniu i wieku\n";
  317.     }else{
  318.         cout << "6. Wyszukaj po imieniu i wieku\n";
  319.     }
  320.     if( numer == 6 ){
  321.         cout << "> 7. Koniec\n";
  322.     }else{
  323.         cout << "7. Koniec\n";
  324.     }
  325. }  
  326. };
  327.  
  328.  
  329. int main()
  330. {
  331.     zoo *Zo = new zoo();
  332.    
  333.     int menuOn = 1;
  334.     int menuNumer = 0;
  335.     while (menuOn){
  336.         system("cls");
  337.        
  338.         menu(menuNumer);
  339.         char c;
  340.         c=getch();
  341.         if( c == 80 ){
  342.             //down
  343.             if( menuNumer == 6 ){
  344.                 menuNumer = 0;
  345.             }else{
  346.                 menuNumer = menuNumer + 1;
  347.             }
  348.         }
  349.         if( c == 72 ){
  350.             //up
  351.             if( menuNumer == 0 ){
  352.                 menuNumer = 6;
  353.             }else{
  354.                 menuNumer = menuNumer - 1;
  355.             }
  356.         }
  357.         if( c == '\r' ){
  358.             system("cls");
  359.             if( menuNumer == 0 ) {
  360.                 Zo->zapiszDoPliku();
  361.                 int secondMenu = 1;
  362.                 while( secondMenu ){
  363.                     cout << "Zapisano! [potwierdz enterem]";
  364.                     char c;
  365.                     c=getch();
  366.                     if( c == '\r' ) secondMenu = 0;
  367.                 }
  368.             }
  369.             if( menuNumer == 1 ){
  370.                 Zo->odczytajZPliku();
  371.                 Zo->Drukuj();
  372.                 int secondMenu = 1;
  373.                 while( secondMenu ){
  374.                     cout << "\n[potwierdz enterem]";
  375.                     char c;
  376.                     c=getch();
  377.                     if( c == '\r' ) secondMenu = 0;
  378.                 }
  379.             }
  380.             if( menuNumer == 2 ){
  381.                 Zo->dodajZwierze();
  382.             }
  383.             if( menuNumer == 3 ){
  384.                 Zo->wyszukajPoImieniu();  
  385.                 int secondMenu = 1;
  386.                 while( secondMenu ){
  387.                     cout << "\n[potwierdz enterem]";
  388.                     char c;
  389.                     c=getch();
  390.                     if( c == '\r' ) secondMenu = 0;
  391.                 }
  392.             }
  393.             if( menuNumer == 4 ){
  394.                 Zo->wyszukajPoWieku();
  395.                 int secondMenu = 1;
  396.                 while( secondMenu ){
  397.                     cout << "\n[potwierdz enterem]";
  398.                     char c;
  399.                     c=getch();
  400.                     if( c == '\r' ) secondMenu = 0;
  401.                 }  
  402.             }
  403.             if( menuNumer == 5 ){
  404.                 Zo->wyszukajPoImieniuIWieku();
  405.                 int secondMenu = 1;
  406.                 while( secondMenu ){
  407.                     cout << "\n[potwierdz enterem]";
  408.                     char c;
  409.                     c=getch();
  410.                     if( c == '\r' ) secondMenu = 0;
  411.                 }
  412.             }
  413.             if( menuNumer == 6 ) exit(0);
  414.         }
  415.     }
  416.    
  417.  
  418. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top