Advertisement
Mikeellee

proj2

Jan 31st, 2020
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 19.46 KB | None | 0 0
  1.  
  2. #include <iostream>
  3. #include <windows.h>
  4. #include <conio.h>
  5. #include <fstream>
  6. #include <cstdlib>
  7.  
  8. using namespace std;
  9.  
  10. fstream dostawcy_txt;
  11. fstream towar_txt;
  12. fstream zamowienie_txt;
  13.  
  14. struct dostawca {
  15.     int id;
  16.     string nazwa;
  17.     string nazwisko;
  18.     int nip;
  19.     dostawca *nastepna;    // wskaŸnik na nastêpny element
  20.     dostawca();            // konstruktor
  21. };
  22.  
  23. dostawca::dostawca() {
  24.     nastepna = 0;       // konstruktor
  25. }
  26.  
  27. struct lista {
  28.     dostawca *pierwsza;  // wskaŸnik na pocz¹tek listy
  29.     void dodaj_dostawce (string nazwa, string nazwisko, int nip);
  30.     void usun_dostawce (int nr);
  31.     void usun_all ();
  32.     void wyswietl_liste ();
  33.     void zapisz_do_pliku();
  34.     void zapisz_do_pliku3(int nr1);
  35.     void wczytaj();
  36.     //void zamowienie();
  37.     lista();
  38. };
  39.  
  40. lista::lista() {
  41.     pierwsza = 0;       // konstruktor
  42. }
  43. void lista::dodaj_dostawce(string nazwa, string nazwisko, int nip)
  44. {
  45.     dostawca *nowa = new dostawca;    // tworzy nowy element listy
  46.  
  47.     // wype³niamy naszymi danymi
  48.  
  49.     nowa->nazwa = nazwa;
  50.     nowa->nazwisko = nazwisko;
  51.     nowa->nip = nip;
  52.  
  53.     if (pierwsza==0) // sprawdzamy czy to pierwszy element listy
  54.     {
  55.         // je¿eli tak to nowy element jest teraz pocz¹tkiem listy
  56.         pierwsza = nowa;
  57.     }
  58.  
  59.     else
  60.     {
  61.         // w przeciwnym wypadku wêdrujemy na koniec listy
  62.         dostawca *temp = pierwsza;
  63.  
  64.         while (temp->nastepna)
  65.         {
  66.             // znajdujemy wskaŸnik na ostatni element
  67.             temp = temp->nastepna;
  68.         }
  69.  
  70.         temp->nastepna = nowa;  // ostatni element wskazuje na nasz nowy
  71.         nowa->nastepna = 0;     // ostatni nie wskazuje na nic
  72.     }
  73. }
  74.  
  75. void lista::wyswietl_liste()
  76. {
  77.     // wskaznik na pierszy element listy
  78.     dostawca *temp = pierwsza;
  79.     int a;
  80.     a=1;
  81.     // przewijamy wskazniki na nastepne elementy
  82.     while (temp)
  83.     {
  84.  
  85.  
  86.  
  87.  
  88.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  89.             cout <<"id: ";
  90.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  91.             cout<< a;
  92.             temp->id = a;
  93.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  94.             cout<< " nazwa: ";
  95.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  96.             cout<< temp->nazwa;
  97.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  98.             cout<< " nazwisko: ";
  99.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  100.             cout<< temp->nazwisko;
  101.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  102.             cout<<" nip: ";
  103.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  104.             cout<< temp->nip<< endl;
  105.  
  106.  
  107.  
  108.  
  109.  
  110.         temp=temp->nastepna;
  111.  
  112.         a++;
  113.     }
  114. }
  115.  
  116. void lista::zapisz_do_pliku3(int nr1)
  117. {
  118.         // jezeli to pierwszy element listy
  119.     //if (nr1==1)
  120.     //{
  121.         dostawca *temp = pierwsza;
  122.         int i,j=1;
  123.        // zamowienie_txt.open("zam1.txt",ios::out);
  124.     //dostawca *temp2 = pierwsza;
  125.     while(temp)
  126.     {
  127.         if(nr1==j)
  128.         {
  129.  
  130.         dostawcy_txt.open("zamowienie.txt",ios::out);
  131.     //dostawca *temp2 = pierwsza;
  132.    // while (temp2)
  133.     //{
  134.         dostawcy_txt<<"======Zamowienie======\nId dostawcy:     "<<temp->id<<endl;
  135.         dostawcy_txt<<"Nazwa dostwcy:   "<<temp->nazwa<<endl;
  136.         dostawcy_txt<<"Nazwa2 dostawcy: "<<temp->nazwisko<<endl;
  137.         dostawcy_txt<<"NIP    dostawcy: "<<temp->nip<<endl;
  138.  
  139.         //temp2=temp2->nastepna;
  140.     //}
  141.     dostawcy_txt.close();
  142.  
  143.  
  144.         break;
  145.         }
  146.         temp = temp->nastepna;
  147.         j++;
  148.  
  149.     }
  150.  
  151.  
  152.     //zamowienie_txt.close();
  153.        // pierwsza = temp->nastepna; //poczatek listy, 1 el. wskazuje na 2 el. itd..
  154.  
  155. }
  156. void lista::zapisz_do_pliku()
  157. {
  158.     dostawcy_txt.open("dostawcy.txt",ios::out);
  159.     dostawca *temp2 = pierwsza;
  160.     while (temp2)
  161.     {
  162.         dostawcy_txt<<temp2->id<<endl;
  163.         dostawcy_txt<<temp2->nazwa<<endl;
  164.         dostawcy_txt<<temp2->nazwisko<<endl;
  165.         dostawcy_txt<<temp2->nip<<endl;
  166.  
  167.         temp2=temp2->nastepna;
  168.     }
  169.     dostawcy_txt.close();
  170. }
  171. void lista::wczytaj()
  172. {
  173.     string linia;
  174.     dostawcy_txt.open("dostawcy.txt",ios::in);
  175.     int nr_linii=1;
  176.     string nazwa, nazwisko;
  177.  
  178.     int nip,id;
  179.  
  180.     while (getline(dostawcy_txt, linia))
  181.     {
  182.  
  183.  
  184.         switch(nr_linii)
  185.         {
  186.             //case 1:
  187.               //  id=atoi(linia.c_str());
  188.                 //cout<<id<<endl; break;
  189.             case 2:
  190.                 nazwa=linia;
  191.                 cout<<nazwa<<endl;break;
  192.                 //nowa->nazwa = linia;break;
  193.             case 3:
  194.                 nazwisko=linia;
  195.                 cout<<nazwisko<<endl;break;
  196.                 //nowa->nazwisko=linia;break;
  197.             case 4:
  198.                 nip=atoi(linia.c_str());
  199.                 cout<<nip<<endl;break;
  200.                 //nowa->nip=nip; break;
  201.  
  202.  
  203.         }
  204.  
  205.  
  206.         if(nr_linii==4)
  207.             {
  208.                 nr_linii=0;
  209.                 dostawca *nowa = new dostawca;    // tworzy nowy element listy
  210.  
  211.     // wype³niamy naszymi danymi
  212.  
  213.     nowa->nazwa = nazwa;
  214.     nowa->nazwisko = nazwisko;
  215.     nowa->nip = nip;
  216.  
  217.     if (pierwsza==0) // sprawdzamy czy to pierwszy element listy
  218.     {
  219.         // je¿eli tak to nowy element jest teraz pocz¹tkiem listy
  220.         pierwsza = nowa;
  221.     }
  222.  
  223.     else
  224.     {
  225.         // w przeciwnym wypadku wêdrujemy na koniec listy
  226.         dostawca *temp = pierwsza;
  227.  
  228.         while (temp->nastepna)
  229.         {
  230.             // znajdujemy wskaŸnik na ostatni element
  231.             temp = temp->nastepna;
  232.         }
  233.  
  234.         temp->nastepna = nowa;  // ostatni element wskazuje na nasz nowy
  235.         nowa->nastepna = 0;     // ostatni nie wskazuje na nic
  236.     }
  237.  
  238.             }
  239.             nr_linii++;
  240.  
  241.  
  242.     }
  243.  
  244.     dostawcy_txt.close();
  245.     getch();getch();
  246. }
  247. void wcz ()
  248. {
  249.     string nazwa, nazwisko;
  250.  
  251. int nip,id;
  252.  
  253.  
  254.  
  255.  
  256.  
  257.     string linia;
  258.  
  259.     int nr_linii=1;
  260.  
  261.  
  262.  
  263.     fstream plik;
  264.  
  265.     plik.open("wizytowka.txt", ios::in);
  266.  
  267.  
  268.  
  269.     if(plik.good()==false) cout<<"Nie mozna otworzyc pliku!";
  270.  
  271.  
  272.  
  273.     while (getline(plik, linia))
  274.  
  275.     {
  276.  
  277.         switch (nr_linii)
  278.  
  279.         {
  280.             case 1: id=atoi(linia.c_str());
  281.             cout<<id<<endl; break;
  282.  
  283.             case 2: nazwa=linia;
  284.             cout<<nazwa<<endl;break;
  285.  
  286.             case 3: nazwisko=linia;
  287.             cout<<nazwisko<<endl;break;
  288.  
  289.             case 4: nip=atoi(linia.c_str());
  290.             cout<<nip<<endl;break;
  291.  
  292.         }
  293.         if(nr_linii==4)
  294.             nr_linii=0;
  295.  
  296.         nr_linii++;
  297.  
  298.     }
  299.  
  300.  
  301.  
  302.     plik.close();
  303.  
  304.  
  305.  
  306.  
  307.     getch();getch();
  308. }
  309. void lista::usun_dostawce (int nr)
  310. {
  311.     // jezeli to pierwszy element listy
  312.     if (nr==1)
  313.     {
  314.         dostawca *temp = pierwsza;
  315.         pierwsza = temp->nastepna; //poczatek listy, 1 el. wskazuje na 2 el. itd..
  316.     }
  317.  
  318.     // je¿eli nie jest to pierwszy element
  319.     if (nr>=2)
  320.     {
  321.         int j = 1;
  322.  
  323.         // do usuniecia srodkowego elemetnu potrzebujemy wskaznika na dostawce n-1
  324.         // wskaznik *temp bedzie wskaznikiem na dostawce poprzedzajaca dostawce usuwana
  325.         dostawca *temp = pierwsza;
  326.  
  327.         while (temp)
  328.         {
  329.             // sprawdzamy czy wskaznik jest na osobie n-1 niz usuwana
  330.             if ((j+1)==nr) break;
  331.  
  332.             // jezeli nie to przewijamy petle do przodu
  333.             temp = temp->nastepna;
  334.             j++;
  335.         }
  336.  
  337.         // wskaznik *temp wskazuje teraz na dostawce n-1
  338.         // nadpisujemy wkaznik osoby n na dostawce n+1
  339.         // bezpowrotnie tracimy dostawce n-ta
  340.  
  341.         // dodatkowo sprawdzamy czy aby nie jest to ostatni element
  342.         // wtedy nalezy wyzerowac ostatni wskaznik
  343.         if (temp->nastepna->nastepna==0)
  344.             temp->nastepna = 0;
  345.  
  346.         // jezeli nie byl to ostatni element
  347.         else
  348.             temp->nastepna = temp->nastepna->nastepna;
  349.     }
  350. }
  351. void lista::usun_all ()
  352. {
  353.     pierwsza=0;
  354. }
  355. struct towar {
  356.     int id;
  357.     string nazwa;
  358.     string nazwisko;
  359.     int ilosc;
  360.     towar *nastepna;    // wskaŸnik na nastêpny element
  361.     towar();            // konstruktor
  362. };
  363.  
  364. towar::towar() {
  365.     nastepna = 0;       // konstruktor
  366. }
  367.  
  368. struct lista2 {
  369.     towar *pierwsza;  // wskaŸnik na pocz¹tek listy
  370.     void dodaj_towar (string nazwa, string nazwisko, int ilosc);
  371.     void usun_towar (int nr);
  372.     void usun_all2 ();
  373.     void wyswietl_liste2 ();
  374.     void zapisz_do_pliku2();
  375.     void zapisz_do_pliku4(int nr1);
  376.     void wczytaj2();
  377.     void zamowienie2();
  378.     lista2();
  379. };
  380.  
  381. lista2::lista2() {
  382.     pierwsza = 0;       // konstruktor
  383. }
  384. void lista2::dodaj_towar(string nazwa, string nazwisko, int ilosc)
  385. {
  386.     towar *nowa = new towar;    // tworzy nowy element listy
  387.  
  388.     // wype³niamy naszymi danymi
  389.  
  390.     nowa->nazwa = nazwa;
  391.     nowa->nazwisko = nazwisko;
  392.     nowa->ilosc = ilosc;
  393.  
  394.     if (pierwsza==0) // sprawdzamy czy to pierwszy element listy
  395.     {
  396.         // je¿eli tak to nowy element jest teraz pocz¹tkiem listy
  397.         pierwsza = nowa;
  398.     }
  399.  
  400.     else
  401.     {
  402.         // w przeciwnym wypadku wêdrujemy na koniec listy
  403.         towar *temp = pierwsza;
  404.  
  405.         while (temp->nastepna)
  406.         {
  407.             // znajdujemy wskaŸnik na ostatni element
  408.             temp = temp->nastepna;
  409.         }
  410.  
  411.         temp->nastepna = nowa;  // ostatni element wskazuje na nasz nowy
  412.         nowa->nastepna = 0;     // ostatni nie wskazuje na nic
  413.     }
  414. }
  415.  
  416. void lista2::wyswietl_liste2()
  417. {
  418.     // wskaznik na pierszy element listy
  419.     towar *temp = pierwsza;
  420.     cout<<"Pierwsza z wyswietl: "<<pierwsza<<endl;
  421.     int a;
  422.     a=1;
  423.     // przewijamy wskazniki na nastepne elementy
  424.     while (temp)
  425.     {
  426.  
  427.  
  428.  
  429.  
  430.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  431.             cout <<"id: ";
  432.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  433.             cout<< a;
  434.             temp->id = a;
  435.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  436.             cout<< " nazwa: ";
  437.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  438.             cout<< temp->nazwa;
  439.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  440.             cout<< " nazwisko: ";
  441.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  442.             cout<< temp->nazwisko;
  443.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),11);
  444.             cout<<" ilosc: ";
  445.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  446.             cout<< temp->ilosc<< endl;
  447.  
  448.  
  449.  
  450.  
  451.  
  452.         temp=temp->nastepna;
  453.  
  454.         a++;
  455.     }
  456. }
  457.  
  458. void lista2::zapisz_do_pliku2()
  459. {
  460.     towar_txt.open("towar.txt",ios::out);
  461.     towar *temp2 = pierwsza;
  462.     while (temp2)
  463.     {
  464.         towar_txt<<temp2->id<<endl;
  465.         towar_txt<<temp2->nazwa<<endl;
  466.         towar_txt<<temp2->nazwisko<<endl;
  467.         towar_txt<<temp2->ilosc<<endl;
  468.  
  469.         temp2=temp2->nastepna;
  470.     }
  471.     towar_txt.close();
  472. }
  473. void lista2::zapisz_do_pliku4(int nr1)
  474. {
  475.     //towar_txt.open("dostawa",ios::out|ios::app);
  476.     towar *temp = pierwsza;
  477.  
  478.         int i,j=1;
  479.        // zamowienie_txt.open("zam1.txt",ios::out);
  480.     //dostawca *temp2 = pierwsza;
  481.     while(temp)
  482.     {
  483.         if(nr1==j)
  484.         {
  485.         dostawcy_txt.open("zamowienie.txt",ios::out|ios::app);
  486.     //dostawca *temp2 = pierwsza;
  487.    // while (temp2)
  488.     //{
  489.         dostawcy_txt<<"ID towaru:       "<<temp->id<<endl;
  490.         dostawcy_txt<<"Nazwa towaru:    "<<temp->nazwa<<endl;
  491.         dostawcy_txt<<"Nazwa towaru2:   "<<temp->nazwisko<<endl;
  492.         dostawcy_txt<<"Ilosc towaru:    "<<temp->ilosc<<endl<<endl;
  493.  
  494.         //temp2=temp2->nastepna;
  495.     //}
  496.         dostawcy_txt.close();
  497.         break;
  498.         }
  499.         temp = temp->nastepna;
  500.         j++;
  501.  
  502.     }
  503. }
  504. void lista2::wczytaj2()
  505. {
  506.     string linia;
  507.     towar_txt.open("towar.txt",ios::in);
  508.     int nr_linii=1;
  509.     string nazwa, nazwisko;
  510.  
  511.     int ilosc,id;
  512.  
  513.     while (getline(towar_txt, linia))
  514.     {
  515.  
  516.  
  517.         switch(nr_linii)
  518.         {
  519.             //case 1:
  520.               //  id=atoi(linia.c_str());
  521.                 //cout<<id<<endl; break;
  522.             case 2:
  523.                 nazwa=linia;
  524.                 cout<<nazwa<<endl;break;
  525.                 //nowa->nazwa = linia;break;
  526.             case 3:
  527.                 nazwisko=linia;
  528.                 cout<<nazwisko<<endl;break;
  529.                 //nowa->nazwisko=linia;break;
  530.             case 4:
  531.                 ilosc=atoi(linia.c_str());
  532.                 cout<<ilosc<<endl;break;
  533.                 //nowa->nip=nip; break;
  534.  
  535.  
  536.         }
  537.  
  538.  
  539.         if(nr_linii==4)
  540.             {
  541.                 nr_linii=0;
  542.                 towar *nowa = new towar;    // tworzy nowy element listy
  543.  
  544.     // wype³niamy naszymi danymi
  545.  
  546.     nowa->nazwa = nazwa;
  547.     nowa->nazwisko = nazwisko;
  548.     nowa->ilosc = ilosc;
  549.  
  550.     if (pierwsza==0) // sprawdzamy czy to pierwszy element listy
  551.     {
  552.         // je¿eli tak to nowy element jest teraz pocz¹tkiem listy
  553.         pierwsza = nowa;
  554.     }
  555.  
  556.     else
  557.     {
  558.         // w przeciwnym wypadku wêdrujemy na koniec listy
  559.         towar *temp = pierwsza;
  560.  
  561.         while (temp->nastepna)
  562.         {
  563.             // znajdujemy wskaŸnik na ostatni element
  564.             temp = temp->nastepna;
  565.         }
  566.  
  567.         temp->nastepna = nowa;  // ostatni element wskazuje na nasz nowy
  568.         nowa->nastepna = 0;     // ostatni nie wskazuje na nic
  569.     }
  570.  
  571.             }
  572.             nr_linii++;
  573.  
  574.  
  575.     }
  576.  
  577.     towar_txt.close();
  578.     getch();getch();
  579. }
  580. void lista2::usun_towar(int nr)
  581. {
  582.     // jezeli to pierwszy element listy
  583.     if (nr==1)
  584.     {
  585.         towar *temp = pierwsza;
  586.         pierwsza = temp->nastepna; //poczatek listy, 1 el. wskazuje na 2 el. itd..
  587.     }
  588.  
  589.     // je¿eli nie jest to pierwszy element
  590.     if (nr>=2)
  591.     {
  592.         int j = 1;
  593.  
  594.         // do usuniecia srodkowego elemetnu potrzebujemy wskaznika na dostawce n-1
  595.         // wskaznik *temp bedzie wskaznikiem na dostawce poprzedzajaca dostawce usuwana
  596.         towar *temp = pierwsza;
  597.  
  598.         while (temp)
  599.         {
  600.             // sprawdzamy czy wskaznik jest na osobie n-1 niz usuwana
  601.             if ((j+1)==nr) break;
  602.  
  603.             // jezeli nie to przewijamy petle do przodu
  604.             temp = temp->nastepna;
  605.             j++;
  606.         }
  607.  
  608.         // wskaznik *temp wskazuje teraz na dostawce n-1
  609.         // nadpisujemy wkaznik osoby n na dostawce n+1
  610.         // bezpowrotnie tracimy dostawce n-ta
  611.  
  612.         // dodatkowo sprawdzamy czy aby nie jest to ostatni element
  613.         // wtedy nalezy wyzerowac ostatni wskaznik
  614.         if (temp->nastepna->nastepna==0)
  615.             temp->nastepna = 0;
  616.  
  617.         // jezeli nie byl to ostatni element
  618.         else
  619.             temp->nastepna = temp->nastepna->nastepna;
  620.     }
  621. }
  622. void lista2::usun_all2 ()
  623. {
  624.     pierwsza=0;
  625. }
  626. void zamowienie()
  627. {
  628.  
  629. }
  630.  
  631. int main()
  632. {
  633.     lista *baza = new lista;    //tworzymy liste
  634.     lista2 *baza2 = new lista2;
  635.     int wybor=-4,po;
  636.     int id,nip,a,id1,id2,ilosc;
  637.     string nazwa, nazwisko,av;
  638.  
  639.     while (true)
  640.     {
  641.         system("cls");
  642.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  643.         cout<<"================================="<<endl<<"Lista dostawcow"<<endl<<endl;
  644.         baza->wyswietl_liste();
  645.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  646.         cout<<"================================="<<endl;
  647.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  648.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  649.         cout<<"================================="<<endl<<"Lista towarow"<<endl<<endl;
  650.         baza2->wyswietl_liste2();
  651.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),10);
  652.         cout<<"================================="<<endl;
  653.         SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),15);
  654.  
  655.         cout<<"Menu"<<endl;
  656.         cout<<"1 - dodaj dostawce"<<endl;
  657.         cout<<"2 - usun wybranego dostawce"<<endl;
  658.         cout<<"3 - zapisz do pliku"<<endl;
  659.         cout<<"4 - wczytaj z pliku"<<endl;
  660.         cout<<"5 - wczytaj z pliku i nadpisz"<<endl;
  661.         cout<<"6 - dodaj towar"<<endl;
  662.         cout<<"7 - usun wybrany towar"<<endl;
  663.         cout<<"8 - zapisz do pliku towar"<<endl;
  664.         cout<<"9 - wczytaj z pliku towar"<<endl;
  665.         cout<<"10 - wczytaj z pliku i nadpisz towar"<<endl;
  666.         cout<<"11 - stworz zamowienie"<<endl;
  667.  
  668.  
  669.  
  670.         cout<<"99 - exit"<<endl;
  671.  
  672.         cin>>wybor;
  673.         getline(cin,av);
  674.         switch(wybor)
  675.         {
  676.             case 1:
  677.                 {
  678.                 cout<<"nazwa: ";
  679.  
  680.                 getline(cin,nazwa);
  681.                 cout<<"Podaj nazwisko: ";
  682.                 getline(cin,nazwisko);
  683.                 cout<<"Podaj nip: ";
  684.                 cin>>nip;
  685.                 baza->dodaj_dostawce(nazwa,nazwisko,nip);
  686.                 break;}
  687.             case 2:
  688.                 cout<<"Podaj id dostawcy do usuniecia: ";
  689.                 cin>>id;
  690.                 baza->usun_dostawce(id);
  691.                 break;
  692.             case 3:
  693.  
  694.                 baza->zapisz_do_pliku();
  695.                 break;
  696.             case 4:
  697.  
  698.                 baza->wczytaj();
  699.                 break;
  700.             case 5:
  701.                 baza->usun_all();
  702.                 baza->wczytaj();
  703.                 break;
  704.             case 6:
  705.                 {
  706.                 cout<<"nazwa: ";
  707.  
  708.                 getline(cin,nazwa);
  709.                 cout<<"Podaj nazwisko: ";
  710.                 getline(cin,nazwisko);
  711.                 cout<<"Podaj ilosc: ";
  712.                 cin>>ilosc;
  713.                 baza2->dodaj_towar(nazwa,nazwisko,ilosc);
  714.                 cout<<"zawartosc pierwsza nazwa: "<<baza2->pierwsza->nazwa;
  715.                 getch();getch();
  716.                 break;}
  717.             case 7:
  718.                 cout<<"Podaj id towaru do usuniecia: ";
  719.                 cin>>id;
  720.                 baza2->usun_towar(id);
  721.                 break;
  722.             case 8:
  723.  
  724.                 baza2->zapisz_do_pliku2();
  725.                 break;
  726.             case 9:
  727.  
  728.                 baza2->wczytaj2();
  729.                 break;
  730.             case 10:
  731.                 baza2->usun_all2();
  732.                 baza2->wczytaj2();
  733.                 break;
  734.             case 11:
  735.                 cout<<"Podaj id dostawcy: ";
  736.                 cin>>id1;
  737.                 cout<<"Podaj id towaru: ";
  738.                 cin>>id2;
  739.                 baza->zapisz_do_pliku3(id1);
  740.  
  741.                 dostawcy_txt.open("zamowienie.txt",ios::out|ios::app);
  742.                 dostawcy_txt<<"\n\n===Towary==="<<endl;
  743.                 dostawcy_txt.close();
  744.                 baza2->zapisz_do_pliku4(id2);
  745.                 cout<<"Pomyślnie stworzono zamowienie!"<<endl;
  746.                 while(TRUE)
  747.                 {
  748.                 cout<<"Czy chcesz dodac kolejny towar?(0-nie;1-tak) ";
  749.                 cin>>po;
  750.                 if(po==1)
  751.                 {
  752.                 cout<<"Podaj id towaru: ";
  753.                 cin>>id2;
  754.  
  755.                 dostawcy_txt.open("zamowienie.txt",ios::out|ios::app);
  756.                 //dostawcy_txt<<"\n\n===Towary==="<<endl;
  757.                 dostawcy_txt.close();
  758.                 baza2->zapisz_do_pliku4(id2);
  759.                 cout<<"Pomyślnie stworzono zamowienie!"<<endl;
  760.                 }
  761.                 else
  762.                     break;
  763.                 }
  764.  
  765.  
  766.  
  767.  
  768.                 break;
  769.  
  770.  
  771.             case 99:
  772.  
  773.                 delete (baza);
  774.                 exit(0);
  775.                 break;
  776.  
  777.  
  778.  
  779.  
  780.  
  781.         }
  782.     }
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.     return 0;
  791. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement