Advertisement
Guest User

Untitled

a guest
Jan 25th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 22.21 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[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. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement