Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.13 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. if(strstr(out.autor,szukana) || strstr(out.tytul,szukana) || strstr(inttochar,szukana))
  47. cout<<i<<". "<<endl<<"Autor: "<<out.autor<<endl<<"Tytul: "<<out.tytul<<endl<<"Numer katalogowy: "<<out.ID<<endl<<endl;
  48. }
  49. }
  50. else
  51. cout<<"Nie udalo sie otworzyc bazy danych"<<endl;
  52. baza.close();
  53. }
  54.  
  55. void wyszukiwanie_czyt(string bazaa)
  56. {
  57. czyt out;
  58. char szukana[200];
  59. cout<<"Podaj fraze do wyszukania: ";
  60. cin>>szukana;
  61. cout<<endl;
  62. ifstream baza(bazaa,ios::binary | ios::out);
  63. if(baza.is_open())
  64. {
  65. for(int j=1;;j++)
  66. {
  67. baza.read(reinterpret_cast<char*>(&out),sizeof(out));
  68. if(baza.eof()) break;
  69. char inttochar[12];
  70. stringstream konwersja;
  71. konwersja<<fixed<<setprecision(0)<<out.PESEL;
  72. konwersja>>inttochar;
  73. if(strstr(out.imie,szukana) || strstr(out.nazwisko,szukana) || strstr(inttochar,szukana))
  74. cout<<j<<". "<<endl<<"Imie: "<<out.imie<<endl<<"Nazwisko: "<<out.nazwisko<<endl<<"PESEL: "<<out.PESEL<<endl<<endl;
  75. }
  76. }
  77. else
  78. cout<<"Nie udalo sie otworzyc bazy danych"<<endl;
  79. baza.close();
  80.  
  81. }
  82.  
  83. void wyswietl_ksiazki(string bazaa)
  84. {
  85. ifstream ksiazkabaza(bazaa,ios::binary | ios::out);
  86. if(ksiazkabaza.is_open())
  87. {
  88. ksiazki ksiazka;
  89. for(int i=1;;i++)
  90. {
  91. ksiazkabaza.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  92. if(ksiazkabaza.eof()) break;
  93. cout<<endl<<i<<". "<<"Autor: "<<ksiazka.autor<<" Tytul: "<<ksiazka.tytul<<" Numer katalogowy: "<<ksiazka.ID<<endl;
  94. if(ksiazka.czywyp==true)
  95. {
  96. cout<<"Ksiazka wypozyczona przez nr PESEL "<<ksiazka.wypPESEL<<". Do oddania pozostalo ";
  97. cout<<30-((time(NULL)-ksiazka.czas)/86400)<<" dni."<<endl;
  98. }
  99. }
  100.  
  101. }
  102. ksiazkabaza.close();
  103. }
  104. void wyswietl_czyt(string bazaa)
  105. {
  106. int a;
  107. czyt czytelnik;
  108. ifstream czytbaza(bazaa,ios::binary | ios::out);
  109. if(czytbaza.is_open())
  110. {
  111. for(int i=1;;i++)
  112. {
  113. czytbaza.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  114. if(czytbaza.eof()) break;
  115. cout<<endl<<i<<". "<<"Imie: "<<czytelnik.imie<<" Nazwisko: "<<czytelnik.nazwisko<<" PESEL: "<<czytelnik.PESEL<<endl;
  116. }
  117. }
  118. else
  119. {
  120. cout<<"Nie udało sie uzyskac dostepu do bazy danych"<<endl;
  121.  
  122. }
  123. cout<<endl;
  124. czytbaza.close();
  125. }
  126. int main()
  127. {
  128. int wyjscie=1,wyb,kwyjscie=1,cwyjscie=1;
  129. string switchint;
  130. char PESELq[12];
  131. czyt czytelnik;
  132. ksiazki ksiazka;
  133. while (wyjscie)
  134. {
  135. cout<<endl<<"[1]. Ksiazki."<<endl<<"[2]. Czytelnicy."<<endl<<"[3]. Wypozycz ksiazke."<<endl<<"[4]. Zwroc ksiazke."<<endl<<"[5]. Lista wypozyczonych ksiazek."<<endl<<"[6]. Wyjdz"<<endl;
  136. cout<<endl;
  137.  
  138. int switchtoint=0;
  139. cin>>switchint;
  140. istringstream(switchint)>>switchtoint;
  141.  
  142. switch(switchtoint)
  143. {
  144. default:
  145. {
  146. break;
  147. }
  148. case 1:
  149. {
  150. while(kwyjscie)
  151. {
  152. cout<<endl<<"[1]. Dodaj ksiazke."<<endl<<"[2]. Edytuj ksiazke"<<endl<<"[3]. Usun ksiazke."<<endl<<"[4]. Wyswietl ksiazki."<<endl<<"[5]. cofnij"<<endl<<"[6]. Wyszukaj"<<endl;
  153. cout<<endl;
  154. switchtoint=0;
  155. cin>>switchint;
  156. istringstream(switchint)>>switchtoint;
  157. switch(switchtoint)
  158. {
  159. default:
  160. {
  161. break;
  162. }
  163. case 1:
  164. {
  165.  
  166. ofstream ksiazkibaza("ksiazki.dat",ios::binary | ios::in | ios::app);
  167. if(ksiazkibaza.is_open())
  168. {
  169. do
  170. {
  171. cout<<endl;
  172. cout<<"Podaj autora"<<endl;
  173. cin.getline(ksiazka.autor,sizeof(ksiazka.autor));
  174. cin.getline(ksiazka.autor,sizeof(ksiazka.autor));
  175. cout<<"Podaj tytul"<<endl;
  176. cin.getline(ksiazka.tytul,sizeof(ksiazka.tytul));
  177. cout<<"Podaj numer katalogowy"<<endl;
  178. cin>>ksiazka.ID;
  179. ksiazka.czywyp=false;
  180. strcpy(ksiazka.wypPESEL,"0");
  181. ksiazka.czas=0;
  182. ksiazkibaza.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  183. cout<<"Czy chcesz wprowadzic nastepna ksiazke?"<<endl<<"NIE - Wprowadz [0] TAK - Wprowadz inna liczbe."<<endl;
  184. cin>>wyb;
  185. }while(wyb!=0);
  186. ksiazkibaza.close();
  187. break;
  188. }
  189. else
  190. {
  191. cout<<"Wystapil blad podczas dostepu do bazy danych"<<endl;
  192. break;
  193. }
  194. break;
  195. }
  196.  
  197. case 2:
  198.  
  199. {
  200. wyswietl_ksiazki("ksiazki.dat");
  201. cout<<endl<<"Wybierz ksiazke do edycji: ";
  202. cin>>wyb;
  203. cout<<endl;
  204. ofstream ksiazkaa("ksiazki.dat",ios::binary | ios::in);
  205. ksiazkaa.seekp(sizeof(struct ksiazki)*(wyb-1));
  206. cout<<"Podaj autora"<<endl;
  207. cin>>ksiazka.autor;
  208. cout<<"Podaj tytul"<<endl;
  209. cin>>ksiazka.tytul;
  210. cout<<"Podaj numer katalogowy"<<endl;
  211. cin>>ksiazka.ID;
  212. ksiazka.czywyp=false;
  213. strcpy(ksiazka.wypPESEL,"0");
  214. ksiazka.czas=0;
  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(strcmp(czytelnik.PESEL,PESELq)==0)
  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. strcpy(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(strlen(PESELq)<11)
  498. {
  499. int szukaneid=atoi(PESELq);
  500. if(ksiazka.czywyp==true)
  501. {
  502. cout<<"Ksiazka ktora probujesz wypozyczyc jest juz obecnie wypozyczona."<<endl;
  503.  
  504. break;
  505. }
  506. if(ksiazka.czywyp==false)
  507. {
  508. bool found;
  509.  
  510. ifstream czytbaza("czytelnicy.dat",ios::binary | ios::out);
  511. if(czytbaza.is_open())
  512. {
  513. for(int i=1;;i++)
  514. {
  515. czytbaza.read(reinterpret_cast<char*>(&czytelnik),sizeof(czytelnik));
  516. if(czytbaza.eof())
  517. {
  518. cout<<"Nie znaleziono czytelnika o podanym numerze ID"<<endl;
  519. found=false;
  520. break;
  521. }
  522. if(i==szukaneid)
  523. {
  524. found=true;
  525. break;
  526. }
  527.  
  528. }
  529. }
  530. czytbaza.close();
  531.  
  532. if(found==true)
  533. {
  534. cout<<czytelnik.imie<<endl<<czytelnik.nazwisko<<endl<<czytelnik.PESEL<<endl<<endl;
  535. cout<<"Czy na pewno chcesz wypozyczyc ksiazke o numerze katalogowym "<<ksiazka.ID<<" dla podanego czytelnika? TAK = [1] NIE = [0]"<<endl;
  536. cin>>wyb;
  537. if(wyb==0)
  538. {
  539. break;
  540. }
  541. if(wyb==1)
  542. {
  543. ofstream ksiazkabaza("ksiazki.dat",ios::binary | ios::in);
  544. if(ksiazkabaza.is_open())
  545. {
  546. cout<<"Ksiazka zostala wypozyczona"<<endl;
  547. cout<<endl;
  548. ksiazkabaza.seekp(sizeof(struct ksiazki)*(mark-1));
  549. ksiazka.czywyp=true;
  550. strcpy(ksiazka.wypPESEL,czytelnik.PESEL);
  551. ksiazka.czas=time(NULL);
  552. ksiazkabaza.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  553. ksiazkabaza.close();
  554. break;
  555. }
  556. else
  557. {
  558. cout<<"Wystapil blad podczas dostepu do bazy danych"<<endl;
  559. ksiazkabaza.close();
  560. break;
  561. }
  562. }
  563. }}
  564.  
  565. }
  566. }
  567. }break;
  568. }
  569. case 4:
  570. {
  571. bool found;
  572. cout<<"Podaj numer katalogowy ksiazki do zwrotu"<<endl;
  573. cin>>wyb;
  574. int mark;
  575. ifstream ksiazkabaza("ksiazki.dat",ios::binary | ios::out);
  576. if(ksiazkabaza.is_open())
  577. {
  578. for(int i=1;;i++)
  579. {
  580. ksiazkabaza.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  581. if(ksiazkabaza.eof())
  582. {
  583. cout<<"Ksiazka ktora probujesz zwrocic jest juz oddana lub numer katalogowy jest blednie podany."<<endl;
  584. break;
  585. found=false;
  586. }
  587.  
  588. if(ksiazka.czywyp==true && ksiazka.ID==wyb)
  589. {
  590. cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Do oddania pozostalo ";
  591. cout<<30-((time(NULL)-ksiazka.czas)/86400)<<" dni.";
  592. found=true;
  593. mark=i;
  594. break;
  595. }
  596. }
  597. }ksiazkabaza.close();
  598. if(found==true)
  599. {
  600. cout<<endl;
  601. cout<<"Czy chcesz przyjac zwrot tej ksiazki? TAK = [1], NIE = [0]"<<endl;
  602. cin>>wyb;
  603. if(wyb==1)
  604. {
  605.  
  606. ofstream temp("temp.dat",ios::binary | ios::in | ios::app);
  607. ifstream ksiazki1("ksiazki.dat",ios::binary);
  608. for(int i=1;;i++)
  609. {
  610. ksiazki1.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  611. if(ksiazki1.eof()) break;
  612. if(i!=wyb)
  613. temp.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  614. if(i==mark)
  615. {
  616. ksiazka.czywyp=false;
  617. ksiazka.czas=0;
  618. strcpy(ksiazka.wypPESEL,"0");
  619. temp.write(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  620. }
  621. }
  622. temp.close();
  623. ksiazki1.close();
  624. remove("ksiazki.dat");
  625. rename("temp.dat","ksiazki.dat");
  626. cout<<"\nUsunieto.\n"<<endl;
  627. break;
  628. }
  629. }
  630. break;
  631.  
  632.  
  633. if(found==false)
  634. {
  635. break;
  636. }
  637.  
  638. }
  639. case 5:
  640. {
  641. cout<<endl<<"#########################################################################"<<endl<<"=========================== ZALEGLE KSIAZKI ============================="<<endl<<"#########################################################################"<<endl;
  642. ifstream ksiazkabaza("ksiazki.dat",ios::binary | ios::out);
  643. if(ksiazkabaza.is_open())
  644. {int c=1;
  645. for(int i=1;;i++)
  646. {
  647. ksiazkabaza.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  648. if(ksiazkabaza.eof()) break;
  649. if(ksiazka.czywyp==true)
  650. {
  651. if(30-((time(NULL)-ksiazka.czas)/86400)<=0)
  652. {
  653. cout<<endl<<c<<". "<<"Autor: "<<ksiazka.autor<<" Tytul: "<<ksiazka.tytul<<" Numer katalogowy: "<<ksiazka.ID<<endl;
  654. cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Ksiazka zalegla o: ";
  655. cout<<(30-((time(NULL)-ksiazka.czas)/86400)*(-1))<<" dni."<<endl;
  656. c++;
  657. }
  658. }
  659. }
  660. }
  661. ksiazkabaza.close();
  662. cout<<endl<<"#########################################################################"<<endl<<"======================== NIE ZALEGLE KSIAZKI ============================"<<endl<<"#########################################################################"<<endl;
  663. ifstream ksiazkabaza1("ksiazki.dat",ios::binary | ios::out);
  664. if(ksiazkabaza1.is_open())
  665. {int c=1;
  666. for(int i=1;;i++)
  667. {
  668. ksiazkabaza1.read(reinterpret_cast<char*>(&ksiazka),sizeof(ksiazka));
  669. if(ksiazkabaza1.eof()) break;
  670. if(ksiazka.czywyp==true)
  671. {
  672. if(30-((time(NULL)-ksiazka.czas)/86400)>0)
  673. {
  674. cout<<endl<<c<<". "<<"Autor: "<<ksiazka.autor<<" Tytul: "<<ksiazka.tytul<<" Numer katalogowy: "<<ksiazka.ID<<endl;
  675. cout<<"Ksiazka wypozyczona przez nr PESEL "<<fixed<<setprecision(0)<<ksiazka.wypPESEL<<". Do oddania pozostalo ";
  676. cout<<30-((time(NULL)-ksiazka.czas)/86400)<<" dni."<<endl;
  677. c++;
  678. }
  679. }
  680. }
  681. }
  682. ksiazkabaza1.close();
  683. break;
  684. }
  685. case 6:
  686. {
  687. wyjscie=0;
  688. break;
  689. }
  690. }
  691. }
  692. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement