Advertisement
Guest User

Untitled

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