SHARE
TWEET

Untitled

a guest Jan 25th, 2020 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <fstream>
  3. #include <time.h>
  4. #include <iomanip>
  5. #include <conio.h>
  6. #include <cstdio>
  7. #include <cstring>
  8. #include <sstream>
  9. using namespace std;
  10.  
  11. struct czyt
  12. {
  13.     char PESEL[11];
  14.     char imie[20];
  15.     char nazwisko[20];
  16.  
  17. };
  18. struct ksiazki
  19. {
  20.     int ID;
  21.     char autor[50];
  22.     char tytul[50];
  23.     bool czywyp;
  24.     char wypPESEL[11];
  25.     int czas;
  26. };
  27.  
  28. void wyszukiwanie_ksi(string bazaa)
  29. {
  30.     ksiazki out;
  31.     char szukana[200];
  32.     cout<<"Podaj fraze do wyszukania: ";
  33.     cin>>szukana;
  34.     cout<<endl;
  35.     ifstream baza(bazaa,ios::binary | ios::out);
  36.     if(baza.is_open())
  37.     {
  38.         for(int i=1;;i++)
  39.         {
  40.             baza.read(reinterpret_cast<char*>(&out),sizeof(out));
  41.             if(baza.eof()) break;
  42.             char inttochar[10];
  43.             stringstream konwersja;
  44.             konwersja << out.ID;
  45.             konwersja>>inttochar;
  46.            
  47.             if(strstr(out.autor,szukana) || strstr(out.tytul,szukana) || strstr(inttochar,szukana))
  48.             cout<<i<<". "<<endl<<"Autor: "<<out.autor<<endl<<"Tytul: "<<out.tytul<<endl<<"Numer katalogowy: "<<out.ID<<endl<<endl; 
  49.         }
  50.     }
  51.     else
  52.     cout<<"Nie udalo sie otworzyc bazy danych"<<endl;
  53.     baza.close();
  54. }
  55.    
  56.     void wyszukiwanie_czyt(string bazaa)
  57. {
  58.     czyt out;
  59.     char szukana[200];
  60.     cout<<"Podaj fraze do wyszukania: ";
  61.     cin>>szukana;
  62.     cout<<endl;
  63.     ifstream baza(bazaa,ios::binary | ios::out);
  64.     if(baza.is_open())
  65.     {
  66.         for(int j=1;;j++)
  67.         {
  68.             baza.read(reinterpret_cast<char*>(&out),sizeof(out));
  69.             if(baza.eof()) break;
  70.             char inttochar[10];
  71.             stringstream konwersja;
  72.             konwersja <<fixed<<setprecision(0)<<out.PESEL;
  73.             konwersja>>inttochar;
  74.             cout<<endl<<inttochar<<endl;
  75.             if(strstr(out.imie,szukana) || strstr(out.nazwisko,szukana) || strstr(inttochar,szukana))
  76.             cout<<noshowpoint << setprecision( 6 )<<j<<". "<<endl<<"Imie: "<<out.imie<<endl<<"Nazwisko: "<<out.nazwisko<<endl<<"PESEL: "<<out.PESEL<<endl<<endl;   
  77.         }
  78.     }
  79.     else
  80.     cout<<"Nie udalo sie otworzyc bazy danych"<<endl;
  81.     baza.close();
  82.    
  83. }
  84.  
  85. void wyswietl_ksiazki(string bazaa)
  86. {
  87.     ifstream ksiazkabaza(bazaa,ios::binary | ios::out);
  88.     if(ksiazkabaza.is_open())
  89.     {
  90.         ksiazki ksiazka;
  91.         for(int i=1;;i++)
  92.         {
  93.             ksiazkabaza.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  94.             if(ksiazkabaza.eof()) break;
  95.             cout<<endl<<i<<". "<<"Autor: "<<ksiazka.autor<<"  Tytul: "<<ksiazka.tytul<<"  Numer katalogowy: "<<ksiazka.ID<<endl;
  96.             if(ksiazka.czywyp==true)
  97.             {
  98.                 cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Do oddania pozostalo ";
  99.                 cout<<(time(NULL)-ksiazka.czas)/86400<<" dni."<<endl;
  100.             }
  101.         }
  102.        
  103.     }
  104.     ksiazkabaza.close();
  105. }
  106. bool wyswietl_czyt(string bazaa)
  107. {
  108.     czyt czytelnik;
  109.     ifstream czytbaza(bazaa,ios::binary | ios::out);
  110.     if(czytbaza.is_open())
  111.     {
  112.         for(int i=1;;i++)
  113.         {
  114.             czytbaza.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  115.             if(czytbaza.eof()) break;
  116.             cout<<endl<<i<<". "<<"Imie: "<<czytelnik.imie<<"  Nazwisko: "<<czytelnik.nazwisko<<"  PESEL: "<<fixed<<setprecision(0)<<czytelnik.PESEL<<endl;
  117.         }
  118.        
  119.     }
  120.     else
  121.     {
  122.         cout<<"Nie udało sie uzyskac dostepu do bazy danych"<<endl;
  123.     }
  124.     cout<<endl;
  125.     czytbaza.close();
  126. }
  127. int main()
  128. {
  129.     const char Zero[2]="0";
  130.     int wyjscie=1,wyb,kwyjscie=1,cwyjscie=1;
  131.     string switchint;
  132.     char PESELq[11];
  133.     czyt czytelnik;
  134.     ksiazki ksiazka;
  135.     while (wyjscie)
  136.     {
  137.         cout<<endl<<"[1]. Ksiazki."<<endl<<"[2]. Czytelnicy."<<endl<<"[3]. Wypozycz ksiazke."<<endl<<"[4]. Zwroc ksiazke."<<endl<<"[5]. Lista wypozyczonych ksiazek."<<endl<<"[6]. Wyjdz"<<endl;
  138.         cout<<endl;
  139.        
  140.         int switchtoint=0;
  141.         cin>>switchint;
  142.         istringstream(switchint)>>switchtoint;
  143.        
  144.         switch(switchtoint)
  145.         {
  146.             default:
  147.                 {
  148.                     break;
  149.                 }
  150.             case 1:
  151.                 {
  152.                     while(kwyjscie)
  153.                     {
  154.                         cout<<endl<<"[1]. Dodaj ksiazke."<<endl<<"[2]. Edytuj ksiazke"<<endl<<"[3]. Usun ksiazke."<<endl<<"[4]. Wyswietl ksiazki."<<endl<<"[5]. cofnij"<<endl<<"[6]. Wyszukaj"<<endl;
  155.                         cout<<endl;
  156.                         switchtoint=0;
  157.                         cin>>switchint;
  158.                         istringstream(switchint)>>switchtoint;
  159.                         switch(switchtoint)
  160.                         {
  161.                             default:
  162.                                 {
  163.                                     break;
  164.                                 }
  165.                             case 1:
  166.                                 {
  167.                                
  168.                                 ofstream ksiazkibaza("ksiazki.dat",ios::binary | ios::in | ios::app);
  169.                                 if(ksiazkibaza.is_open())
  170.                                 {
  171.                                     do
  172.                                     {
  173.                                     cout<<endl;
  174.                                     cout<<"Podaj autora"<<endl;
  175.                                     cin.getline(ksiazka.autor,sizeof(ksiazka.autor));
  176.                                     cin.getline(ksiazka.autor,sizeof(ksiazka.autor));
  177.                                     cout<<"Podaj tytul"<<endl;
  178.                                     cin.getline(ksiazka.tytul,sizeof(ksiazka.tytul));
  179.                                     cout<<"Podaj numer katalogowy"<<endl;
  180.                                     cin>>ksiazka.ID;
  181.                                     ksiazka.czywyp=false;
  182.                                     ksiazka.wypPESEL=Zero;
  183.                                     ksiazka.czas=0;
  184.                                     ksiazkibaza.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  185.                                     cout<<"Czy chcesz wprowadzic nastepna ksiazke?"<<endl<<"NIE - Wprowadz [0] TAK - Wprowadz inna liczbe."<<endl;
  186.                                     cin>>wyb;
  187.                                     }while(wyb!=0);
  188.                                     ksiazkibaza.close();
  189.                                     break;
  190.                                 }
  191.                                 else
  192.                                 {
  193.                                     cout<<"Wystapil blad podczas dostepu do bazy danych"<<endl;
  194.                                     break;
  195.                                 }
  196.                                 break;
  197.                                 }
  198.  
  199.                             case 2:
  200.  
  201.                                 {
  202.                                     wyswietl_ksiazki("ksiazki.dat");
  203.                                     cout<<endl<<"Wybierz ksiazke do edycji: ";
  204.                                     cin>>wyb;
  205.                                     cout<<endl;
  206.                                     ofstream ksiazkaa("ksiazki.dat",ios::binary | ios::in);
  207.                                     ksiazkaa.seekp(sizeof(struct ksiazki)*(wyb-1));
  208.                                     cout<<"Podaj autora"<<endl;
  209.                                     cin>>ksiazka.autor;
  210.                                     cout<<"Podaj tytul"<<endl;
  211.                                     cin>>ksiazka.tytul;
  212.                                     cout<<"Podaj numer katalogowy"<<endl;
  213.                                     cin>>ksiazka.ID;
  214.  
  215.                                     ksiazkaa.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  216.                                     ksiazkaa.close();
  217.                                     break;
  218.  
  219.                                 }
  220.                             case 3:
  221.                                 {
  222.                                 wyswietl_ksiazki("ksiazki.dat");
  223.                                 cout<<endl<<"Wybierz ksiazke do usuniecia: ";
  224.                                 cin>>wyb;
  225.                                 ofstream temp("temp.dat",ios::binary | ios::in | ios::app);
  226.                                 ifstream ksiazki1("ksiazki.dat",ios::binary);
  227.                                 for(int i=1;;i++)
  228.                                 {
  229.                                     ksiazki1.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  230.                                     if(ksiazki1.eof()) break;
  231.                                     if(i!=wyb)
  232.                                     temp.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  233.                                 }
  234.                                 temp.close();
  235.                                 ksiazki1.close();
  236.                                 remove("ksiazki.dat");
  237.                                 rename("temp.dat","ksiazki.dat");
  238.                                 cout<<"\nUsunieto.\n";
  239.                                 break;
  240.                                 }
  241.                             case 4:
  242.                                 {
  243.                                 wyswietl_ksiazki("ksiazki.dat");
  244.                                 break;
  245.                                 }
  246.                             case 5:
  247.                                 {
  248.                                     cout<<endl;
  249.                                     kwyjscie=0;
  250.                                     break;
  251.                                 }
  252.                             case 6:
  253.                                 {
  254.                                     wyszukiwanie_ksi("ksiazki.dat");
  255.                                     break;
  256.                                 }
  257.                         }
  258.                     }
  259.                     kwyjscie=1;
  260.                     break;
  261.  
  262.  
  263.                 }
  264.             case 2:
  265.                 {
  266.                     while(cwyjscie)
  267.                     {
  268.                         cout<<endl<<"[1]. Dodaj czytelnika."<<endl<<"[2]. Edytuj czytelnika"<<endl<<"[3]. Usun czytelnika."<<endl<<"[4]. Wyswietl czytelnikow."<<endl<<"[5]. Wyszukaj."<<endl<<"[6]. Cofnij."<<endl;
  269.                         cout<<endl;
  270.                         switchtoint=0;
  271.                         cin>>switchint;
  272.                         istringstream(switchint)>>switchtoint;
  273.                         switch(switchtoint)
  274.                         {
  275.                             default:
  276.                                 {
  277.                                     break;
  278.                                 }
  279.                             case 1:
  280.                                 {
  281.                                     ofstream czytbaza("czytelnicy.dat",ios::binary | ios::in | ios::app);
  282.                                     if(czytbaza.is_open())
  283.                                     {
  284.                                         int x=0;
  285.                                         do
  286.                                         {
  287.                                         cout<<endl;
  288.                                         cout<<"Podaj Imie"<<endl;
  289.                                         cin.getline(czytelnik.imie,sizeof(czytelnik.imie));
  290.                                         cin.getline(czytelnik.imie,sizeof(czytelnik.imie));
  291.                                         cout<<"Podaj Nazwisko "<<endl;
  292.                                         cin.getline(czytelnik.nazwisko,sizeof(czytelnik.nazwisko));
  293.                                         while(x==0)
  294.                                         {
  295.                                        
  296.                                         cout<<"Podaj numer PESEL"<<endl;
  297.                                         cin>>czytelnik.PESEL;
  298.                                         if(strlen(czytelnik.PESEL)==11)
  299.                                         x=1;
  300.                                        
  301.                                         }
  302.                                         x=0;
  303.                                         czytbaza.write(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  304.                                         cout<<"Czy chcesz wprowadzic nastepnego czytelnika?"<<endl<<"NIE - Wprowadz [0] TAK - Wprowadz inna liczbe."<<endl;
  305.                                         cin>>wyb;
  306.                                         }while(wyb!=0);
  307.                                     czytbaza.close();
  308.                                     break;
  309.                                     }
  310.  
  311.  
  312.                                 }
  313.                             case 2:
  314.                                 {
  315.                                     ifstream czytbaza("czytelnicy.dat",ios::binary);
  316.                                     if(czytbaza.is_open())
  317.                                     {
  318.                                         for(int i=1;;i++)
  319.                                         {
  320.                                             czytbaza.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  321.                                             if(czytbaza.eof()) break;
  322.                                             cout<<endl<<i<<". "<<"Imie: "<<czytelnik.imie<<"  Nazwisko: "<<czytelnik.nazwisko<<"  PESEL: "<<fixed<<setprecision(0)<<czytelnik.PESEL<<endl;
  323.                                         }
  324.                                     }
  325.                                     else
  326.                                     {
  327.                                         cout<<"Wystapil blad podczas dostepu do bazy danych"<<endl;
  328.                                         break;
  329.                                     }
  330.                                     czytbaza.close();
  331.                                     cout<<endl<<"Wybierz czytelnika do edycji: ";
  332.                                     cin>>wyb;
  333.                                     cout<<endl;
  334.                                     ofstream czytt("czytelnicy.dat",ios::binary | ios::in);
  335.                                     czytt.seekp(sizeof(struct czyt)*(wyb-1));
  336.                                     cout<<"Podaj Imie"<<endl;
  337.                                     cin>>czytelnik.imie;
  338.                                     cout<<"Podaj Nazwisko "<<endl;
  339.                                     cin>>czytelnik.nazwisko;
  340.                                     cout<<"Podaj numer PESEL"<<endl;
  341.                                     cin>>czytelnik.PESEL;
  342.  
  343.                                     czytt.write(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  344.                                     czytt.close();
  345.                                     break;
  346.                                 }
  347.                             case 3:
  348.                                 {
  349.                                     wyswietl_czyt("czytelnicy.dat");
  350.                                     cout<<endl<<"Wybierz czytelnika do usuniecia: ";
  351.                                     cin>>wyb;
  352.                                     ofstream temp("temp.dat",ios::binary | ios::in | ios::app);
  353.                                     ifstream czytelnikbaza1("czytelnicy.dat",ios::binary);
  354.                                     for(int i=1;;i++)
  355.                                     {
  356.                                         czytelnikbaza1.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  357.                                         if(czytelnikbaza1.eof()) break;
  358.                                         if(i!=wyb)
  359.                                         temp.write(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  360.                                     }
  361.                                     temp.close();
  362.                                     czytelnikbaza1.close();
  363.                                     remove("czytelnicy.dat");
  364.                                     rename("temp.dat","czytelnicy.dat");
  365.                                     cout<<"Usunieto."<<endl;
  366.                                     break;
  367.                                 }
  368.                             case 4:
  369.                                 {
  370.                                     wyswietl_czyt("czytelnicy.dat");
  371.                                     break;
  372.                                 }
  373.                             case 5:
  374.                                 {
  375.                                 wyszukiwanie_czyt("czytelnicy.dat");
  376.                                 break;
  377.                                 }
  378.                             case 6:
  379.                                 {
  380.                                 cwyjscie=0;
  381.                                 break; 
  382.                                 }  
  383.                         }
  384.                     }
  385.                     cwyjscie=1;
  386.                     break;
  387.                 }
  388.             case 3:
  389.                 {
  390.                     int mark;
  391.                     bool marek;
  392.                     wyswietl_ksiazki("ksiazki.dat");
  393.                     cout<<endl<<"Wprowadz numer katalogowy ksiazki do wypozyczenia: ";
  394.                     cin>>wyb;
  395.                     ifstream ksiazkabaza1("ksiazki.dat",ios::binary | ios::out);
  396.                     for(int i=1;;i++)
  397.                     {
  398.                         ksiazkabaza1.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  399.  
  400.                         if(ksiazkabaza1.eof())
  401.                         {
  402.                             cout<<"#####   Nie udalo sie znalezc ksiazki o podanym numerze katalogowym lub jest ona juz wypozyczona.   #####"<<endl;
  403.                             cout<<endl;
  404.                             ksiazkabaza1.close();
  405.                             break;
  406.                             marek=false;
  407.                         }
  408.                         if(ksiazka.ID==wyb)
  409.                         {
  410.                             if(ksiazka.czywyp==false)
  411.                             {
  412.                                 cout<<"Znaleziono ksiazke."<<endl;
  413.                                 cout<<endl;
  414.                                 mark=i;
  415.                                 marek=true;
  416.                                 break;
  417.                             }
  418.  
  419.                         }
  420.                     }
  421.                     ksiazkabaza1.close();
  422.                     if(marek==true)
  423.                     {
  424.                    
  425.                                 ifstream czytbaza("czytelnicy.dat",ios::binary | ios::out);
  426.                                 if(czytbaza.is_open())
  427.                                 {
  428.                                     for(int j=1;;j++)
  429.                                     {
  430.                                         czytbaza.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  431.                                         if(czytbaza.eof()) break;
  432.                                         cout<<endl<<j<<". "<<"Imie: "<<czytelnik.imie<<"  Nazwisko: "<<czytelnik.nazwisko<<"  PESEL: "<<fixed<<setprecision(0)<<czytelnik.PESEL<<endl;
  433.                                     }
  434.                                     czytbaza.close();
  435.                                     cout<<endl<<"Podaj numer PESEL czytelnika lub jego ID z listy."<<endl;
  436.                                     cin>>PESELq;
  437.                                     if(strlen(PESELq)==11)
  438.                                     {
  439.                                         cout<<"Podano pesel"<<endl;
  440.                                         ifstream czytbaza1("czytelnicy.dat",ios::binary | ios::out);
  441.                                         if(czytbaza1.is_open())
  442.                                         {
  443.                                             for(int k=1;;k++)
  444.                                             {
  445.                                                 czytbaza1.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  446.                                                 if(czytbaza1.eof())
  447.                                                 {
  448.                                                     cout<<"Nie znaleziono czytelnika o podanym numerze PESEL."<<endl;
  449.                                                     break;
  450.                                                 }
  451.                                                 if(czytelnik.PESEL==PESELq)
  452.                                                 {
  453.                                                     cout<<czytelnik.imie<<endl<<czytelnik.nazwisko<<endl<<czytelnik.PESEL<<endl<<endl;
  454.                                                     cout<<"Czy na pewno chcesz wypozyczyc ksiazke o numerze katalogowym "<<ksiazka.ID<<" dla podanego czytelnika? TAK = [1] NIE = [0]"<<endl;
  455.                                                     cin>>wyb;
  456.                                                     if(wyb==0)
  457.                                                     {
  458.                                                         break;
  459.                                                     }
  460.                                                     if(wyb==1)
  461.                                                     {
  462.                                                         ofstream ksiazkabaza("ksiazki.dat",ios::binary | ios::in);
  463.                                                         if(ksiazkabaza.is_open())
  464.                                                         {
  465.                                                             cout<<"Ksiazka zostala wypozyczona"<<endl;
  466.                                                             cout<<endl;
  467.                                                             ksiazkabaza.seekp(sizeof(struct ksiazki)*(mark-1));
  468.                                                             ksiazka.czywyp=true;
  469.                                                             ksiazka.wypPESEL=czytelnik.PESEL;
  470.                                                             ksiazka.czas=time(NULL);
  471.                                                             ksiazkabaza.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  472.                                                             ksiazkabaza.close();
  473.                                                             break;
  474.                                                         }
  475.                                                         else
  476.                                                         {
  477.                                                             cout<<"Wystapil blad podczas dostepu do bazy danych"<<endl;
  478.                                                             ksiazkabaza.close();
  479.                                                             break;
  480.                                                         }
  481.                                                     }
  482.  
  483.                                                 }
  484.                                                 if(ksiazka.czywyp==true)
  485.                                                 {
  486.                                                     cout<<"Ksiazka ktora probujesz wypozyczyc jest juz obecnie wypozyczona."<<endl;
  487.                                                    
  488.                                                     break;
  489.                                                 }
  490.                                             }
  491.                                             czytbaza1.close();
  492.                                            
  493.                                         }
  494.  
  495.  
  496.                                     }
  497.                         if(PESELq<100000000000)
  498.                             {
  499.                                 if(ksiazka.czywyp==true)
  500.                                                 {
  501.                                                     cout<<"Ksiazka ktora probujesz wypozyczyc jest juz obecnie wypozyczona."<<endl;
  502.                                                    
  503.                                                     break;
  504.                                                 }
  505.                                 if(ksiazka.czywyp==false)
  506.                                 {
  507.                                 bool found;
  508.  
  509.                                 ifstream czytbaza("czytelnicy.dat",ios::binary | ios::out);
  510.                                     if(czytbaza.is_open())
  511.                                     {
  512.                                         for(int i=1;;i++)
  513.                                         {
  514.                                             czytbaza.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  515.                                             if(czytbaza.eof())
  516.                                             {
  517.                                                 cout<<"Nie znaleziono czytelnika o podanym numerze ID"<<endl;
  518.                                                 found=false;
  519.                                                 break;
  520.                                             }
  521.                                             if(i==PESELq)
  522.                                             {
  523.                                                 found=true;
  524.                                                 break;
  525.                                             }
  526.  
  527.                                         }
  528.                                     }
  529.                                     czytbaza.close();
  530.  
  531.                                 if(found==true)
  532.                                 {
  533.                                     cout<<czytelnik.imie<<endl<<czytelnik.nazwisko<<endl<<czytelnik.PESEL<<endl<<endl;
  534.                                     cout<<"Czy na pewno chcesz wypozyczyc ksiazke o numerze katalogowym "<<ksiazka.ID<<" dla podanego czytelnika? TAK = [1] NIE = [0]"<<endl;
  535.                                     cin>>wyb;
  536.                                     if(wyb==0)
  537.                                     {
  538.                                         break;
  539.                                     }
  540.                                     if(wyb==1)
  541.                                     {
  542.                                         ofstream ksiazkabaza("ksiazki.dat",ios::binary | ios::in);
  543.                                         if(ksiazkabaza.is_open())
  544.                                         {
  545.                                             cout<<"Ksiazka zostala wypozyczona"<<endl;
  546.                                             cout<<endl;
  547.                                             ksiazkabaza.seekp(sizeof(struct ksiazki)*(mark-1));
  548.                                             ksiazka.czywyp=true;
  549.                                             ksiazka.wypPESEL=czytelnik.PESEL;
  550.                                             ksiazka.czas=time(NULL);
  551.                                             ksiazkabaza.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  552.                                             ksiazkabaza.close();
  553.                                             break;
  554.                                         }
  555.                                         else
  556.                                         {
  557.                                             cout<<"Wystapil blad podczas dostepu do bazy danych"<<endl;
  558.                                             ksiazkabaza.close();
  559.                                             break;
  560.                                         }
  561.                                     }
  562.                                 }}
  563.  
  564.                             }
  565.                     }
  566.                     }break;
  567.                 }
  568.             case 4:
  569.                 {
  570.                     bool found;
  571.                     cout<<"Podaj numer katalogowy ksiazki do zwrotu"<<endl;
  572.                     cin>>wyb;
  573.                     int mark;
  574.                     ifstream ksiazkabaza("ksiazki.dat",ios::binary | ios::out);
  575.                     if(ksiazkabaza.is_open())
  576.                     {
  577.                         for(int i=1;;i++)
  578.                         {
  579.                             ksiazkabaza.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  580.                             if(ksiazkabaza.eof())
  581.                             {
  582.                                 cout<<"Ksiazka ktora probujesz zwrocic jest juz oddana lub numer katalogowy jest blednie podany."<<endl;
  583.                                 break;
  584.                                 found=false;
  585.                             }
  586.  
  587.                             if(ksiazka.czywyp==true && ksiazka.ID==wyb)
  588.                             {
  589.                                 cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Do oddania pozostalo ";
  590.                                 cout<<(time(NULL)-ksiazka.czas)/86400<<" dni.";
  591.                                 found=true;
  592.                                 mark=i;
  593.                                 break;
  594.                             }
  595.                         }
  596.                     }ksiazkabaza.close();
  597.                     if(found==true)
  598.                     {
  599.                         cout<<endl;
  600.                         cout<<"Czy chcesz przyjac zwrot tej ksiazki? TAK = [1], NIE = [0]"<<endl;
  601.                         cin>>wyb;
  602.                         if(wyb==1)
  603.                         {
  604.  
  605.                             ofstream temp("temp.dat",ios::binary | ios::in | ios::app);
  606.                             ifstream ksiazki1("ksiazki.dat",ios::binary);
  607.                             for(int i=1;;i++)
  608.                             {
  609.                                 ksiazki1.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  610.                                 if(ksiazki1.eof()) break;
  611.                                 if(i!=wyb)
  612.                                 temp.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  613.                                 if(i==mark)
  614.                                 {
  615.                                     ksiazka.czywyp=false;
  616.                                     ksiazka.czas=0;
  617.                                     ksiazka.wypPESEL=0;
  618.                                     temp.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  619.                                 }
  620.                             }
  621.                             temp.close();
  622.                             ksiazki1.close();
  623.                             remove("ksiazki.dat");
  624.                             rename("temp.dat","ksiazki.dat");
  625.                             cout<<"\nUsunieto.\n"<<endl;
  626.                             break;
  627.                         }
  628.                     }
  629.                         break;
  630.  
  631.  
  632.                     if(found==false)
  633.                     {
  634.                         break;
  635.                     }
  636.  
  637.                 }
  638.             case 5:
  639.                 {
  640.                     cout<<endl<<"#########################################################################"<<endl<<"=========================== ZALEGLE KSIAZKI ============================="<<endl<<"#########################################################################"<<endl;
  641.                 ifstream ksiazkabaza("ksiazki.dat",ios::binary | ios::out);
  642.                 if(ksiazkabaza.is_open())
  643.                 {int c=1;
  644.                     for(int i=1;;i++)
  645.                     {
  646.                         ksiazkabaza.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  647.                         if(ksiazkabaza.eof()) break;
  648.                         if(ksiazka.czywyp==true)
  649.                         {
  650.                             if(30-((time(NULL)-ksiazka.czas)/86400)<=0)
  651.                             {
  652.                             cout<<endl<<c<<". "<<"Autor: "<<ksiazka.autor<<"  Tytul: "<<ksiazka.tytul<<"  Numer katalogowy: "<<ksiazka.ID<<endl;
  653.                             cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Ksiazka zalegla o: ";
  654.                             cout<<(30-((time(NULL)-ksiazka.czas)/86400)*(-1))<<" dni."<<endl;
  655.                             c++;
  656.                             }
  657.                         }
  658.                     }
  659.                 }
  660.                     ksiazkabaza.close();
  661.                     cout<<endl<<"#########################################################################"<<endl<<"======================== NIE ZALEGLE KSIAZKI ============================"<<endl<<"#########################################################################"<<endl;
  662.                     ifstream ksiazkabaza1("ksiazki.dat",ios::binary | ios::out);
  663.                 if(ksiazkabaza1.is_open())
  664.                 {int c=1;
  665.                     for(int i=1;;i++)
  666.                     {
  667.                         ksiazkabaza1.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  668.                         if(ksiazkabaza1.eof()) break;
  669.                         if(ksiazka.czywyp==true)
  670.                         {
  671.                             if(30-((time(NULL)-ksiazka.czas)/86400)>0)
  672.                             {
  673.                             cout<<endl<<c<<". "<<"Autor: "<<ksiazka.autor<<"  Tytul: "<<ksiazka.tytul<<"  Numer katalogowy: "<<ksiazka.ID<<endl;
  674.                             cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Do oddania pozostalo ";
  675.                             cout<<30-((time(NULL)-ksiazka.czas)/86400)<<" dni."<<endl;
  676.                             c++;
  677.                             }
  678.                         }
  679.                     }
  680.                 }
  681.                     ksiazkabaza1.close();
  682.                     break;
  683.                 }
  684.             case 6:
  685.                 {
  686.                     wyjscie=0;
  687.                     break;
  688.                 }
  689.         }
  690.     }
  691. }
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