Advertisement
Guest User

Untitled

a guest
Jan 27th, 2020
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.54 KB | None | 0 0
  1. # include<iostream>
  2. # include<conio.h>
  3. # include<string.h>
  4. # include<stdio.h>
  5.  
  6.  
  7. struct mas
  8. {
  9. char name[20];
  10. char autor[20];
  11. int god;
  12. }
  13.  
  14. class bibl
  15. {
  16. private:
  17. mas kn;
  18. public:
  19. void in(bibl[],int&);
  20. void vyb(bibl[],int&);
  21. void poisk(bibl[],int&);
  22. void udal(bibl[],int&);
  23. void dobavl(bibl[],int&);
  24. void vivod(bibl[],int&);
  25. };
  26. void main()
  27. {
  28. clrscr();
  29. bibl a[10];
  30. int x=0;
  31. cout<<"Введите число книг:\n";
  32. cin>>x;
  33. cout<<"Введите Ваши книги:\n";
  34. a[x].in(a,x);
  35. getch();
  36. }
  37. void bibl::in(bibl a[], int&x)
  38. {
  39. for(int i=0;i<x;i++)
  40. {
  41. cout<<"Название: ";
  42. cin>>a[i].kn.name;
  43. cout<<"Автор: ";
  44. cin>>a[i].kn.autor;
  45. cout<<"Год издания: ";
  46. cin>>a[i].kn.god;
  47. }
  48. getch();
  49. clrscr();
  50.  
  51. a[x].vyb(a,x);
  52. }
  53. void bibl::vyb(bibl a[],int&x)
  54. {
  55. int vybor=0;
  56. do
  57. {
  58. clrscr();
  59. cout<<"1-Поиск книги\n2-Удалить книги\n3-Добавить книгу\n4-Показать библиотеку\n5-Выход\n Ваш выбор:";
  60. cin>>vybor;
  61. clrscr();
  62. if(vybor==1)
  63. a[x].poisk(a,x);
  64. if(vybor==2)
  65. a[x].udal(a,x);
  66. if(vybor==3)
  67. a[x].dobavl(a,x);
  68. if(vybor==4)
  69. a[x].vivod(a,x);
  70. }
  71. while(vybor!=5);
  72. }
  73. void bibl::poisk(bibl a[],int&x)
  74. {
  75. int p=0,god=0;
  76. char name[20],autor[20];
  77. cout<<"1-Поиск по названию\n2-Поиск по автору\n3-Поиск по году издания\n Ваш выбор:";
  78. cin>>p;
  79. clrscr();
  80.  
  81. if(p==1)
  82. {
  83. int f=0;
  84. cout<<"Введите название: ";
  85. cin>>name;
  86. for(int i=0;i<x;i++)
  87. {
  88. if(strcmp(name,a[i].kn.name)==0)
  89. {
  90. cout<<a[i].kn.name<<" "<<a[i].kn.autor<<" "<<a[i].kn.god<<endl;
  91. f++;
  92. }}
  93. if(f==0)
  94. cout<<"Таких книг нет";
  95. getch();
  96. }
  97. if(p==2)
  98. {
  99. int h=0;
  100. cout<<"Введите автора: ";
  101. cin>>autor;
  102. for(int i=0;i<x;i++)
  103. {
  104. if(strcmp(autor,a[i].kn.autor)==0)
  105. {
  106. cout<<a[i].kn.name<<" "<<a[i].kn.autor<<" "<<a[i].kn.god<<endl;
  107. h++;
  108. }}
  109. if(h==0)
  110. cout<<"Таких книг нет";
  111. getch();
  112. }
  113. if(p==3)
  114. {
  115. int g=0;
  116. cout<<"Введите год издания ";
  117. cin>>god;
  118. for(int i=0;i<x;i++)
  119. {
  120. if(god==a[i].kn.god)
  121. {
  122. cout<<a[i].kn.name<<" "<<a[i].kn.autor<<" "<<a[i].kn.god<<endl;
  123. g++;
  124. }}
  125. if(g==0)
  126. cout<<"Таких книг нет";
  127. getch();
  128. }
  129. }
  130. void bibl::udal(bibl a[],int&x)
  131. {
  132. int udal;
  133. cout<<"введите адрес для удаления < "<<x<<endl;
  134. cin>>udal;
  135. if(x==1)
  136. cout<<"Удаление невозможно";
  137. strcpy(a[udal-1].kn.name,a[x-1].kn.name);
  138. strcpy(a[udal-1].kn.autor,a[x-1].kn.autor);
  139. a[udal-1].kn.god=a[x-1].kn.god;
  140. x--;
  141. cout<<"Удалено!\n";
  142. }
  143. void bibl::dobavl(bibl a[],int&x)
  144. {
  145. cout<<"Название: ";
  146. cin>>a[x+1].kn.name;
  147. cout<<"Автор: ";
  148. cin>>a[x+1].kn.autor;
  149. cout<<"Год издания: ";
  150. cin>>a[x+1].kn.god;
  151. x++;
  152. }
  153. void bibl::vivod(bibl a[],int&x)
  154. {
  155. for(int i=0;i<x;i++)
  156. {
  157. cout<<a[i].kn.name<<" "<<a[i].kn.autor<<" "<<a[i].kn.god<<endl;
  158. }
  159. getch();
  160. clrscr();
  161. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement