Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 42

База данных о книгах с использованием массива записей

04.07.2016, 22:09. Показов 1514. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите,пожалуйста))) Создать БД с использованием массива записей . В файле текстовом хранятся строки: номер наименование автор год выпуска кол-во на складе цена. Из файла заполнить БД,вывести на экран,алгоритмы: -поиска самой дорогой книги -сортировать погоду -поиск по автору -поиск по названию -определения наличия на складе Буду безумно благодарна))))
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
04.07.2016, 22:09
Ответы с готовыми решениями:

База данных из записей
дано такое задание База данных должна содержать не менее трех записей с 5 полями Необходимо-1)создать с клавиатуры 2)вывести на экран...

Описать массив записей и поместить в него сведения о нескольких книгах
Описать массив записей и поместить в него сведения о нескольких книгах. Предусмотреть возможность выдачи наименования книги по фамилии...

База данных на основе массива записей: добавление, удаление, поиск записей
Комрады, учусь асму, а некоторые моменты не осиливаю :( задача в реализовании некой базы данных с записями "фамилия",...

16
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.07.2016, 09:31
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Евгения Кравец, Если Вы приложите исходный текстовый файл, шансы Ваши возрастут.
0
77 / 40 / 14
Регистрация: 14.01.2016
Сообщений: 203
06.07.2016, 09:59
это что на PascalABC.NET задали? какая-хоть субд? рановато вы благодарите))
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.07.2016, 10:04
Цитата Сообщение от Борис Верещагин Посмотреть сообщение
какая-хоть субд?
Написано же
Цитата Сообщение от Евгения Кравец Посмотреть сообщение
Создать БД с использованием массива записей .
Это конечно совсем не БД, но так задали.
0
06.07.2016, 10:18

Не по теме:

Puporev, я бы руки оторвал кто так задания составляет... а то они потом и в продакшн такую "бд" выкатят...

0
06.07.2016, 10:45

Не по теме:

Цитата Сообщение от Борис Верещагин Посмотреть сообщение
в продакшн такую "бд" выкатят...
Не выкатят, массив живет пока программа работает...

0
06.07.2016, 13:05

Не по теме:

Puporev,

Цитата Сообщение от Евгения Кравец Посмотреть сообщение
В файле текстовом

0
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 42
06.07.2016, 19:27  [ТС]
Вот и я ничего не понимаю(((Учитель говорит,что легкую задачу дала(((
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.07.2016, 19:33
Однако текстовый файл Вы так и не приложили, а его за Вас точно никто писать не будет, я например только одну книгу помню, Толстой Война и мир.
0
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 42
06.07.2016, 20:35  [ТС]
Исходного текстового файла дано не было..
1) Лев Толстой — Война и мир,1868; на складе 214 цена 2500р.
2)Михаил Булгаков — Мастер и Маргарита,1940; на складе 54 цена 1300р.
3)Федор Достоевский — Преступление и наказание,1866; на складе 8 цена 1300р.
4)Александр Пушкин — Евгений Онегин,1837; на складе 317 цена 600р.
5)Александр Дюма — Граф Монте-Кристо,1845; на складе 119 цена 600р.
6)Михаил Лермонтов — Герой нашего времени,1840; на складе 72 цена 750р.
7)Иван Тургенев — Отцы и дети,1861; на складе 13 цена 1100р
8)Николай Гоголь — Тарас Бульба,1842; на складе 81 цена 900р.
9)Александр Пушкин — Капитанская дочка,1836; на складе 124 цена 1400р.
10)Александр Дюма — Три мушкетера,1844; на складе 30 цена 3400р.

Ну вот,надеюсь я правильно поняла))Три мушкетера любимая ,от сюда и цена
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.07.2016, 20:39

Не по теме:

Цитата Сообщение от Евгения Кравец Посмотреть сообщение
Исходного текстового файла дано не было..
А также не было и кода программы, вот горе-то...



Добавлено через 2 минуты

Не по теме:

Да у Вас круто, куча книг XIX века издания и не очень дорого..

.
0
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 42
06.07.2016, 20:48  [ТС]
Чувствую себя тупой овцой(((

1) Лев Толстой — Война и мир,2012; =================на складе 214 ===цена 2500р.
2)Михаил Булгаков — Мастер и Маргарита,2000; =========на складе 54 ====цена 1300р.
3)Федор Достоевский — Преступление и наказание,2014; ===на складе 8 =====цена 1300р.
4)Александр Пушкин — Евгений Онегин,2012; ==========на складе 317 ====цена 600р.
5)Александр Дюма — Граф Монте-Кристо,2012;========= на складе 119 ====цена 600р.
6)Михаил Лермонтов — Герой нашего времени,2015;===== на складе 72 =====цена 750р.
7)Иван Тургенев — Отцы и дети,2013; ==============на складе 13 ======цена 1100р
8)Николай Гоголь — Тарас Бульба,2012; =============на складе 81 ======цена 900р.
9)Александр Пушкин — Капитанская дочка,2014;======= на складе 124======цена 1400р.
10)Александр Дюма — Три мушкетера,2015;===== =====на складе 30 =======цена 3400р.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
06.07.2016, 20:52
Если никто не напишет, напишу завтра с утра, сегодня у меня уже поздно и устал.
0
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 42
06.07.2016, 21:01  [ТС]
Вы подарили мне надежду))
0
07.07.2016, 04:24

Не по теме:

Евгения Кравец, на бога надейся, да и сама не плошай... может все-таки попробуешь сама? сначала объяви структуру "книга" с нужными полями. и массив книг. и из файла читай в массива, считай "бд" заполнила, и уже из массива печатай в консоль, уже пол-дела сделала...

0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
07.07.2016, 08:49
Лучший ответ Сообщение было отмечено ZX Spectrum-128 как решение

Решение

Исходный файл чуть переделал для удобства чтения.
По заданию.
Цитата Сообщение от Евгения Кравец Посмотреть сообщение
поиск по автору -поиск по названию -определения наличия на складе
Я так понял что поиски по автору и по названию и говорят о том есть ли книга на складе.
По простому, чтобы показать алгоритмы, так.
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
type book=record
          nom:integer;
          avt:string[20];
          naz:string[25];
          god:integer;
          kol:integer;
          cen:integer;
          end;
var f:text;
    s:string;
    a:array of book;
    x:book;
    n,i,j,mx,imx:integer;
begin
if not fileexists('knigi.txt') then
 begin
  writeln('Файл knigi не найден');
  readln;
  exit;
 end;
assign(f,'knigi.txt');
reset(f);
n:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(n);
  setlength(a,n);
  a[n-1].nom:=strtoint(copy(s,1,pos(')',s)-1));
  delete(s,1,pos(')',s));
  a[n-1].avt:=copy(s,1,pos('-',s)-1);
  delete(s,1,pos('-',s));
  a[n-1].naz:=copy(s,1,pos(',',s)-1);
  delete(s,1,pos(',',s));
  a[n-1].god:=strtoint(copy(s,1,pos(';',s)-1));
  delete(s,1,pos(';',s));
  a[n-1].kol:=strtoint(copy(s,1,pos(';',s)-1));
  delete(s,1,pos(';',s));
  a[n-1].cen:=strtoint(s);
 end;
close(f);
writeln('Спмсок книг на складе');
writeln('---------------------------------------------------------------------------');
writeln('|№пп|       Автор        |        Название         |Год |Количество| Цена |');
writeln('---------------------------------------------------------------------------');
for i:=0 to n-1 do
with a[i] do
writeln('|',nom:3,'|',avt:20,'|',naz:25,'|',god:4,'|',kol:8,'  |',cen:5,' |');
writeln('---------------------------------------------------------------------------');
mx:=a[0].cen;
imx:=0;
for i:=1 to n-1 do
if a[i].cen>mx then
 begin
  mx:=a[i].cen;
  imx:=i;
 end;
writeln('Самая дорогая книга ',a[imx].avt,'  ',a[imx].naz,'  цена=',a[imx].cen);
for i:=0 to n-2 do
for j:=i+1 to n-1 do
if a[i].god>a[j].god then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Спмсок книг по годам мздания');
writeln('---------------------------------------------------------------------------');
writeln('|№пп|       Автор        |        Название         |Год |Количество| Цена |');
writeln('---------------------------------------------------------------------------');
for i:=0 to n-1 do
with a[i] do
writeln('|',nom:3,'|',avt:20,'|',naz:25,'|',god:4,'|',kol:8,'  |',cen:5,' |');
writeln('---------------------------------------------------------------------------'); 
write('Введите имя и фамилию автора: ');
readln(s);
writeln('Книги этого автора:');
j:=0;
for i:=0 to n-1 do
if a[i].avt=s then
 begin
  j:=1;
  writeln(a[i].naz);
 end;
if j=0 then writeln('Отсутствуют');
write('Введите название книги: ');
readln(s);
i:=0;
while(i<n)and(a[i].naz<>s)do inc(i);
if i=n then writeln('Такой книги нет')
else writeln('Такая книга есть');
end.
Добавлено через 1 час 40 минут
Вот более похожее на БД, правда с модулем Crt (запуск по Shift+F9), не умею в .net очищать окно вывода, стандартное cls не работает.
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
uses crt;
type book=record
          nom:integer;
          avt:string[20];
          naz:string[25];
          god:integer;
          kol:integer;
          cen:integer;
          end;
     mas=array of book;     
var t:boolean;
procedure read_file(var f:text;var a:mas;var n:integer);
var s:string;
    i:integer;
begin
clrscr;
if not fileexists('knigi.txt') then
 begin
  writeln('Файл knigi не найден');
  readln;
  exit;
 end;
assign(f,'knigi.txt');
reset(f);
n:=0;
while not eof(f) do
 begin
  readln(f,s);
  inc(n);
  setlength(a,n);
  a[n-1].nom:=strtoint(copy(s,1,pos(')',s)-1));
  delete(s,1,pos(')',s));
  a[n-1].avt:=copy(s,1,pos('-',s)-1);
  delete(s,1,pos('-',s));
  a[n-1].naz:=copy(s,1,pos(',',s)-1);
  delete(s,1,pos(',',s));
  a[n-1].god:=strtoint(copy(s,1,pos(';',s)-1));
  delete(s,1,pos(';',s));
  a[n-1].kol:=strtoint(copy(s,1,pos(';',s)-1));
  delete(s,1,pos(';',s));
  a[n-1].cen:=strtoint(s);
 end;
close(f);
writeln('Спмсок книг на складе');
writeln('---------------------------------------------------------------------------');
writeln('|№пп|       Автор        |        Название         |Год |Количество| Цена |');
writeln('---------------------------------------------------------------------------');
for i:=0 to n-1 do
with a[i] do
writeln('|',nom:3,'|',avt:20,'|',naz:25,'|',god:4,'|',kol:8,'  |',cen:5,' |');
writeln('---------------------------------------------------------------------------');
t:=true;
write('Нажмите Enter');
readln;
end;
procedure max(a:mas;n:integer);
var i,mx,imx:integer;
begin
clrscr;
if not t then
 begin  
  writeln('Массив еще не создан, вернитесь к пункту 1');
  readln;
  exit;
 end;
mx:=a[0].cen;
imx:=0;
for i:=1 to n-1 do
if a[i].cen>mx then
 begin
  mx:=a[i].cen;
  imx:=i;
 end;
writeln('Самая дорогая книга ',a[imx].avt,'  ',a[imx].naz,'  цена=',a[imx].cen);
write('Нажмите Enter');
readln;
end;  
procedure sort(var a:mas;n:integer);
var i,j:integer;
    x:book;
begin
clrscr;
if not t then
 begin  
  writeln('Массив еще не создан, вернитесь к пункту 1');
  readln;
  exit;
 end;
for i:=0 to n-2 do
for j:=i+1 to n-1 do
if a[i].god>a[j].god then
 begin
  x:=a[i];
  a[i]:=a[j];
  a[j]:=x;
 end;
writeln('Спмсок книг по годам мздания');
writeln('---------------------------------------------------------------------------');
writeln('|№пп|       Автор        |        Название         |Год |Количество| Цена |');
writeln('---------------------------------------------------------------------------');
for i:=0 to n-1 do
with a[i] do
writeln('|',nom:3,'|',avt:20,'|',naz:25,'|',god:4,'|',kol:8,'  |',cen:5,' |');
writeln('---------------------------------------------------------------------------');
write('Нажмите Enter');
readln;
end; 
procedure poisk_avt(a:mas;n:integer);
var s:string[20];
    i,k:integer;
begin
clrscr;
if not t then
 begin  
  writeln('Массив еще не создан, вернитесь к пункту 1');
  readln;
  exit;
 end;
write('Введите имя и фамилию автора: ');
readln(s);
writeln('Книги этого автора:');
k:=0;
for i:=0 to n-1 do
if a[i].avt=s then
 begin
  k:=1;
  writeln(a[i].naz);
 end;
if k=0 then writeln('Отсутствуют'); 
write('Нажмите Enter');
readln;
end;
procedure poisk_naz(a:mas;n:integer);
var s:string[25];
    i:integer;
begin
clrscr;
if not t then
 begin  
  writeln('Массив еще не создан, вернитесь к пункту 1');
  readln;
  exit;
 end;
write('Введите название книги: ');
readln(s);
i:=0;
while(i<n)and(a[i].naz<>s)do inc(i);
if i=n then writeln('Такой книги нет')
else writeln('Такая книга есть');
write('Нажмите Enter');
readln;
end;   
var f:text;
    a:mas;
    n:integer;
    w:char;
begin
t:=false;
repeat
clrscr;
writeln('Выберите действие');
writeln('1-Создание массива');
writeln('2-Поиск самой дорогой книги');
writeln('3-Сортировка по году');
writeln('4-Поиск по автору');
writeln('5-Поиск по названию книги');
writeln('Другое - выход из программы');
readln(w);
case w of
'1':read_file(f,a,n);
'2':max(a,n);
'3':sort(a,n);
'4':poisk_avt(a,n);
'5':poisk_naz(a,n);
else exit;
end;
until not(w in ['1'..'5']);
end.
2
0 / 0 / 0
Регистрация: 04.07.2016
Сообщений: 42
14.07.2016, 14:22  [ТС]
Вы просто волшебник))Спасибо)))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.07.2016, 14:22
Помогаю со студенческими работами здесь

ОБНОВЛЕНИЕ ЗАПИСЕЙ БАЗА ДАННЫХ
Ocon = new OleDbConnection(con); Ocom = new OleDbCommand(); Ocom.Connection = Ocon; Ocom.CommandType = CommandType.Text; ...

Файлы записей: База данных Напитки
помогите плз! Нужно переделать эту программу с использованием нетипизированных файлов.: Program MAGAZ; Uses crt; TYPE Napitok...

База данных на C# с использованием sql
Всем доброго дня. Нужен конкретный пример базы данных на c# c формой. Желательно рабочую форму, и рабочую базу данных. Пролазил весь...

База данных. Выборка записей со спаренными значениями
Столкнулся с не тривиальной задачей. Есть таблица, содержащая данные о книгах. Среди прочей рутины в записях содержится информация о...

СУБД. Файлы записей: база данных об автомобилях
Всем доброго времени суток! Помогите пожалуйста,кому не трудно,разобраться в программе! Подпишите пожалуйста комментарии в программе! Очень...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
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 и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru