Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 16.10.2017
Сообщений: 23

Найти информацию о книгах, выданных определённому абоненту библиотеки

24.10.2017, 15:01. Показов 1268. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Информационная запись о книге, выданной на руки абоненту, представляет собой структуру следующего вида: номер читательского билета, фамилия абонента, дата выдачи, количество дней, автор, название, год издания, цена. Поиск - по номеру читательского билета
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.10.2017, 15:01
Ответы с готовыми решениями:

Найти информацию о самом молодом читателе библиотеки
помогите с задачкой: создать файл "Библиотека", включающий информацию: фамилия читателя, год рождения, род занятий, адрес. найти инф. о...

В файл записать информацию о книгах
В файл записать информацию о книгах университетской библиотеки: автор, название книги, год издания, цена. Напечатать список книг, изданных...

Описать информацию о книгах в библиотеке
В общем задача такая: Составить программу, которая содержит текущую информацию о книгах в библиотеке.Сведения о книгах заключают: 1)...

2
Эксперт Pascal/Delphi
6812 / 4568 / 4820
Регистрация: 05.06.2014
Сообщений: 22,433
25.10.2017, 14:33
В библиотеке для каждого заказывающего книгу читателя заполняется карточка:фамилия, дата заказа, дата выдачи книги.
Доработайте под свое условие
0
20 / 19 / 4
Регистрация: 22.03.2018
Сообщений: 701
03.01.2019, 15:37
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
program spiski;{Информационная запись о книге, 
выданной на руки абоненту, представляет собой структуру следующего вида: 
номер читательского билета, фамилия абонента, дата выдачи, количество дней, автор, название, год издания, цена.
Поиск - по номеру читательского билета.}
 
{1.Указатель – это переменная, в которую можно записывать адрес другой переменной (или блока памяти).}
 
{2.Односвязный список – это структура данных, в которой каждый элемент (узел) хранит информацию, а также ссылку на следующий элемент. 
Последний элемент списка ссылается на NULL.}
 
{3.Связанный список - это структура данных, в которой каждый элемент содержит указатели на другие 
элементы списка (например, на предыдущий и на следующий элемент в списке).}
 
type{Тип Для Создания Структуры Данных Списка}
  Bilet = ^BiletChitatel;{Указател Bilet Указывает На Тип Данных ^BiletChitatel}
  BiletChitatel = record {Запись Указателя ^BiletChitatel По Поиску Фамилий Преподавателя Из Типа Данных Списка BiletChitatel}
    NamberBileta: string[10]; {Номер Читательского Билета} 
    Abonent: string[25]; {Фамилия Абонента}
    DataVidhi: String[20]; {Дата Выдачи}
    ColDey: string[5]; {Количество Дней}
    Avtor: string[20]; {Автор}
    Nazvania: string[20]; {Название} 
    God: string[15]; {Год Издания}
    Cena: string[20]; {Цена} 
    adr: Bilet;{Переход К Следующей Записи Списка Из Базы данных const} 
  end;
{Первая pc1 запись списка из базы данных}
const
  pc1: BiletChitatel = (NamberBileta: '1'; Abonent: 'Саша.Н.Ю'; DataVidhi: '01.06.2019'; ColDey: '26'; Avtor: 'Баратынский.Е.А'; Nazvania: 'Война и мир'; God: '2019'; Cena: '20$'; adr: nil);
{Вторая pc2 запись списка из базы данных}
const
  pc2: BiletChitatel = (NamberBileta: '2'; Abonent: 'Наташа.Ю.Д'; DataVidhi: '01.08.2019'; ColDey: '14'; Avtor: 'Блок.А.А'; Nazvania: 'Горошена'; God: '2018'; Cena: '15$'; adr: nil);
{Вторая pc3 запись списка из базы данных}
const
  pc3: BiletChitatel = (NamberBileta: '3'; Abonent: 'Настя.А.В'; DataVidhi: '02.01.2019'; ColDey: '19'; Avtor: 'Булгаков.М.А'; Nazvania: 'Миллиардер'; God: '2017'; Cena: '10$'; adr: nil);
 
procedure out1(ph: BiletChitatel);{Процедура для чтения записей списка из базы данных const}
begin
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Номер Читательского Билета:', ph.NamberBileta);{Ввыодит Номер Читательского Билета С Базы Данных const И Осушествляет Переход На Новую Строку}
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Фамилия Абонента:', ph.Abonent);{Ввыодит Фамилия Абонента С Базы Данных const И Осушествляет Переход На Новую Строку}
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Дата Выдачи:', ph.DataVidhi);{Ввыодит Дата Выдачи С Базы Данных const И Осушествляет Переход На Новую Строку}
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Количество Дней:', ph.ColDey);{Ввыодит Количество Дней С Базы Данных const И Осушествляет Переход На Новую Строку}
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Автор:', ph.Avtor);{Ввыодит Автор С Базы Данных const И Осушествляет Переход На Новую Строку} 
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Название:', ph.Nazvania);{Ввыодит Название С Базы Данных const И Осушествляет Переход На Новую Строку} 
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Год Издания:', ph.God);{Ввыодит Год Издания С Базы Данных const И Осушествляет Переход На Новую Строку} 
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
  writeln('Цена:', ph.Cena);{Ввыодит Цену С Базы Данных const И Осушествляет Переход На Новую Строку} 
  Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
end;
{Функция Для Проверки Списка Из Базы Данных const Если Список Пуст То Выводит Сообщения А если Список не Пуст То Вввыодить Из Базы Данных const Наши Данные Списка}
function PPS(s: Bilet): boolean;
begin{Начало Функций}
  if s = nil then begin{Сравнивания Списка Если s = nil То Выводит Сообщения Список Пуст!}
    writeln('Список пуст!');{Вывод Список пуст! переход на следующую строку}
    pps := true;{Если  pps := true; То Выводит Нашь Список Из Базы Данных const}
  end
  else pps := false;{Сравнивания Списка Если pps := false; То Выводит Сообщения Список Пуст!}
end;{Конец Функций}
{Процедура Для Чтения Списка Из Базы Данных const А Так Же Из lista Если Мы Добавили В Базу Данных Наши Данные}
procedure OUT(S: Bilet);
var
  cursor: Bilet;
begin{Начало Процедуры}
  Writeln('Чтение списка:');{Вывод Чтение списка и осуществляется переход на следующую строку}
  cursor := S;   
  if PPS(S) then exit; 
  while cursor <> nil do 
  begin
    out1(cursor^); 
    cursor := cursor^.adr
  end;
end;{Конец Процедуры}
 
{Процедура для Поиска По Фамилий Преподавателя Осуществляется С Помощью Записи Указателя ^BiletChitatel}
procedure find(ph: Bilet; key: string);
var
  cursor: Bilet;
begin{Начало Процедуры}
  writeln('Поиск по номеру читательского билета:', key);{Идёт Поиск по номеру читательского билета И Осуществляется Переход Всех Найденых Элементов Из Базы Данных На Новую Строку}
  if pps(ph) then exit;
  cursor := ph;
  while(cursor <> nil) and (cursor^.NamberBileta <> key) do
    cursor := cursor^.adr;
  if cursor = nil then writeln('Нет элемента!'){Если Ведёного номера читательского билета Нет То Выводит Сообщения Нет Элемента!  Осуществляется Переход На Новую Строку}
  else out1(cursor^)
end;{Конец Процедуры}
 
{Процедура Для Добовления Новой Записи В Базу Данных Списка List}
procedure dop(var ph: Bilet; dat: BiletChitatel);
var
  nw, cursor, BiletChitatel: Bilet;
  key: string;
begin{Начало Процедуры}
  cursor := ph;
  BiletChitatel := nil;{nil – Это Нулевой Указатель, Он Никуда Не Указывает}
  key := dat.NamberBileta;
  New(nw);{Выделяет Память Под Новый Объект, И Сохроняется В Переменной nw}
  Nw^ := dat;
  while(cursor <> nil) and (cursor^.NamberBileta <> key) do
  begin
    BiletChitatel := cursor;
    cursor := cursor^.adr;
  end;
  Nw^.adr := cursor;
  if BiletChitatel = nil then ph := nw
  else BiletChitatel^.adr := nw;
end;{Конец Процедуры}
 
{Процедура Для Удаления Из Базы Данных Списка const или List}
procedure ud(var ph: Bilet; key: string);
var
  cursor, BiletChitatel: Bilet;
begin{Начало Процедуры}
  writeln('Удаление ', key);{Идёт Удаление По Заданному Элементу И Осуществляется Переход Остольных Элементов Из Базы Данных На Новую Строку}
  if pps(ph) then exit;
  cursor := ph;
  BiletChitatel := nil;{nil – Это Нулевой Указатель, Он Никуда Не Указывает}
  while(cursor <> nil) and (cursor^.DataVidhi <> key) do 
  begin
    BiletChitatel := cursor;
    cursor := cursor^.adr;
  end;
  if cursor = nil then begin
    writeln('Нельзя удалить!');{Если Такого Элемента Нет То Выводит Сообщения Нельзя удалить! И Осуществляется На Новую Строку} 
    exit;
  end;
  if BiletChitatel = nil then
  begin
    ph := cursor^.adr;
  end
      else
  begin
    writeln('Удаление первого элемента:');
    BiletChitatel^.adr := cursor^.adr;
  end;
  dispose(cursor);
end;{Конец Процедуры}
 
{Процедура Для Удаления Из Базы Данных Списка По Указателю BiletChitatel}
procedure del(ph: Bilet);
var
  cursor, BiletChitatel: Bilet;
begin{Начало Процедуры}
  if pps(ph) then exit;
  cursor := ph;
  BiletChitatel := nil;{nil – Это Нулевой Указатель, Он Никуда Не Указывает}
  while cursor <> nil do 
  begin
    BiletChitatel := cursor;
    cursor := cursor^.adr;
    dispose(BiletChitatel);
  end;
  Ph := nil;{nil – Это Нулевой Указатель, Он Никуда Не Указывает}
end;{Конец Процедуры}
 
var
  key: string; 
  list: Bilet; 
  zapis: BiletChitatel;
  i, j: integer;
 
begin{Основная программа}
  list := nil;
  dop(list, pc1);
  dop(list, pc2);
  dop(list, pc3);
  while True do {Бесконечный Цикл Для  Выбора Пункта Из Меню}
  begin
    Writeln('##############################################');{Вывод решоток переход на следующую строку}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('Выберите нужное действие');{Выводит Нам Выберите нужное действие и переходит на следующую строку}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('1 - Поиск по номеру читательского билета.'); {Вывод  1 - Поиск по номеру читательского билета. Осуществляет Поиск По Фамилии Если Фамилия Есть В Базе Данных}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('2 - Удаление названия.');{Вывод 2 - Удаление названия. Удаляет Элементы Записи}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('3 - Добавить запись.');{Вывод 3 - Добавить запись. Добовляет Элементы Новой Записи}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('4 - Выберите запись которую нужно вывести.');{Вывод 4 - Выберите запись которую нужно вывести. Делает Ввывод Записи}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('5 - Чтение всей записи.');{Вывод 5 - Чтение всей записи. Делает Чтение Всех Записей Из Базы Данных}
    Writeln('**********************************************');{Вывод звёздочек переход на следующую строку}
    writeln('6 - Выход.');{Вывод 6 - Выход. Делает Выход Из Цикла Закрывает Программу}
    Writeln('**********************************************');{Вывод решоток переход на следующую строку}
    Writeln('##############################################');{Вывод решоток переход на следующую строку}
    write('Введите №:');{Вывод Введите №: и осуществляется переход на следующую строку}
    read(i);{Читает Ввод Данных Пользователем}
    readln();
    case i of {Вызов разных процедур в зависимости от выбора пункта меню}
      1: 
        begin
          Writeln('##############################################');{Вывод решоток переход на следующую строку}
          write('Введите номер читательского билета для поиска:');{Вывод Введите номер читательского билета для поиска и осуществляется переход на следующую строку}
          read(key);
          read();
          find(list, key);
          Writeln('##############################################');{Вывод решоток переход на следующую строку}
        end;
      2: 
        begin
          Writeln('##############################################');{Вывод решоток переход на следующую строку}
          write('Введите Номер Читательского Билета, которого надо удалить:');{Вывод Введите Номер Читательского Билета, которого надо удалить и осуществляется переход на следующую строку}
          read(key);
          read();
          ud(list, key);
          writeln('Запись с номером читательского билета ', key, ' был удален, остались записи:');{Вывод Запись с номером читательского билета ', key, ' был удален, остались записи и осуществляется переход на следующую строку}
          out(list);
          Writeln('##############################################');{Вывод решоток переход на следующую строку}
        end;
      3: 
        begin
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Номер Читательского Билета:');{Ввыодит Номер Читательского Билета}
          Readln(Zapis.NamberBileta);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Фамилия Абонента:');{Ввыодит Фамилия Абонента}
          Readln(Zapis.Abonent);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Дата Выдачи:');{Ввыодит Дата Выдачи}
          Readln(Zapis.DataVidhi);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Количество Дней:');{Ввыодит Количество Дней}
          Readln(Zapis.ColDey);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Автор:');{Ввыодит Автор}
          Readln(Zapis.Avtor);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Название:');{Ввыодит Название}
          Readln(Zapis.Nazvania);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Год Издания:');{Ввыодит Год Издания}
          Readln(Zapis.God);{Требует Добавить Новую Запись Для Данного Элемента}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          Write('Цена:');{Ввыодит Цену}
          Readln(Zapis.Cena);{Требует Добавить Новую Запись Для Данного Элемента}
          dop(list, zapis);{Дополняет Новую Запись Элементов В Базу Данных const}
          Writeln('************************************************************');{Вывод звёздочек переход на следующую строку}
          out(list);{Добавляет Новую Запись Элементов В Базу Данных List}
        end;
      4:
        begin
          write('Выберите, какую запись вывести на экран:');{Ввыодит Выберите, какую запись вывести на экран:}
          read(j);
          read();
          case j of 
            1: out1(pc1);
            2: out1(pc2);
            3: out1(pc3);
          else
            Writeln('##############################################');{Вывод решоток переход на следующую строку}
            writeln('Такой записи нету в базе данных!');{Ввыодит Такой записи нету в базе данных! и осуществляется переход на следующую строку}
            Writeln('##############################################');{Вывод решоток переход на следующую строку}
          end;
        end;
      5: 
        begin
          Writeln('##############################################');{Вывод решоток переход на следующую строку}
          writeln('Вывод всех записей которые есть в базе данных:');{Выводит Вывод всех записей которые есть в базе данных: и осуществляется переход на следующую строку}
          out(list);
          Writeln('##############################################');{Вывод решеток переход на следующую строку}
        end;
      6: break;{Осуществляет Выход Из Цикла И Закрывает Нашу Программу}
    end;
  end;
end.{Конец Программы}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.01.2019, 15:37
Помогаю со студенческими работами здесь

Описать информацию о книгах в библиотеке
Помогите пожалуйста составить программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах содержат: 1....

Программа содержащая информацию о книгах в библиотеке
Здравствуйте..помогите плиз Написать программу, которая содержит текущую информацию о книгах в библиотеке. Сведения о книгах...

Односвязный список, содержащий информацию о книгах
Нужна помощь, с заданием &quot;Построить связной список, содержащий в качестве данных информацию о книге: Название, автор, код ISBN,...

Ввести и записать в файл информацию о книгах
Ввести и записать в файл информацию о книгах по языку С++:порядковый номер,фамилия автора,название книги,город,издательство,год...

Используя запись распечатать информацию о книгах
Используя запись распечатать информацию о книгах, выпущенных в 2008 году. Запись должна содержать поля: Название книги, Фамилия автора, Год...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru