Создать систему управления базой данных (СУБД) в которой предусмотреть следующие режимы: создание БД, вывод БД, добавление записей в БД, удаление записей из БД, корректировка сведений в БД, печать сведений из базы по запросу, выход из БД. Все режимы должны представлены в виде функционального меню. Режим печати по запросу должен предусматривать подменю выбора запросов. Тестирование СУБД осуществить на БД «Больница №4».
В приемном покое больницы №4 содержатся сведения о больных поступивших на лечение. Одна запись этого списка содержит: Ф.И.О. больного, номер палаты, пол, диагноз, дата поступления. СУБД должна выдавать следующие сведения:
- в какой палате лежит больной Х;
- список больных с указанным диагнозом;
- больного наиболее долго находящегося в больнице;
- сколько мужчин и сколько женщин находятся на лечении;
+ выдать все диагнозы, с которыми больные стоят на учете;
+ сортировка по отдельным полям
"Реализация концепции СУБД через массив записного типа языка Pascal"
Реализовать:
- Функциональное меню
- Ввод БД
- Выдод БД
- Не менее двух запросов
Помогите пожалуйста.Очень надо, если я это не сделаю до понедельника, то меня отчислят.Заранее спасибо.
Сам что-нибудь делать будешь, или как? Ну, к примеру, сможешь написать (и расположить правильно в программе) хотя бы "заглушки-пустышки" для процедур, которые будут образовывать твою СУБД? Чтоб потом заменить "пустышки" на реальные процедуры, и оно заработало. Меню можешь взять http://volvo71.narod.ru/menus.htm#menu_text_mode...
Начни что-нибудь делать, а мы потом поможем, доработаем вместе до нормального состояния. До понедельника еще куча времени, можно Windows с нуля написать
Поиск прошерсти, задач на базы данных было немало, они все похожи друг на друга как две капли воды. Заменить тип данных, и чуть-чуть изменить запрос - и из футбольной/хоккейной команды получили библиотеку. А уж из магазина (и такие реализации уже были здесь) - так еще проще.
Спасибо всё сейчас буду искать
uses crt;
type
TRec = record
fName:string[31];
secName:string[31];
thName:string[31];
nomer:string;
Pol:string[20];
Diag:string[20];
baza :string[20];
Sam :string[20];
Daim :string[20];
Swam :string[20];
Qwert :string[20];
fme :string[20];
end;
var
i,n:integer;
BD:array[1..100] of TRec;
PunktOfMenu: char;
MainMenuTitle : char;
caseKey: char;
Begin
clrscr;
write('Кол-во ,больных в больнице = '); readln(n);
for i:=1 to 1 do
with BD[i] do
begin
write('Открыть меню : '); read(Sam);
if Sam='Да'then
begin
writeLn;
writeLn('Выберите нужное действие:');
writeLn('1 - Ввод Базы данных');
writeLn('2 - Вывод Базы данных');
writeLn('3 - Подменю запросов к Базе данных') ;
writeLn('5 - Выход');
write('Ваш выбор:');
readLn(PunktOfMenu);
MainMenuTitle := PunktOfMenu;
end;
begin
repeat
PunktOfMenu:=MainMenuTitle;
case PunktOfMenu of
'1': begin
writeln;
writeln ('База данных перед изменения ');
write('Имя : '); readln(fName);
write('Фамилия : '); readln(secName);
write('Отчество : '); readln(thName);
write('Номер палаты: '); readln(nomer);
write('Пол : '); readln(Pol);
write('Диагноз: '); readln(Diag);
writeLn('Для прекращения ввода нажмите "0"'); readln(caseKey);
begin
if caseKey='0'then
begin
for i:=1 to n do
with BD[i] do
writeln ('База данных после изменения ');
writeln('Имя : ',fname);
writeln('Фамилия : ',secName);
writeln('Отчество : ',thName);
writeln('Номер палаты: ',nomer);
writeln('Пол : ',Pol);
writeln('Диагноз : ',Diag);
writeln;
end;
end;
end;
'2':
begin
writeln ('База данных после изменения ');
writeln('Имя : ',fname);
writeln('Фамилия : ',secName);
writeln('Отчество : ',thName);
writeln('Номер палаты: ',nomer);
writeln('Пол : ',Pol);
writeln('Диагноз : ',Diag);
writeln;
end;
end;{case}
until PunktOfMenu='2' ;
begin
end;
end;
end;
end.
http://forum.pascal.net.ru/index.php?showtopic=25694&hl вот ссылка на тему нужную мне
uses crt;
type
TRec = record
fName:string[31];
secName:string[31];
thName:string[31];
nomer:string;
Pol:string[20];
Diag:string[20];
end;
function MainMenu: integer;
var PunktOfMenu: integer;
begin
writeLn;
writeLn('Выберите нужное действие:');
writeLn('1 - Ввод Базы данных');
writeLn('2 - Вывод Базы данных');
writeLn('3 - Подменю запросов к Базе данных');
writeln('4 - Корректировка БД');
writeLn('5 - Выход');
write('Ваш выбор:');
readLn(PunktOfMenu);
MainMenu := PunktOfMenu;
end;
var
i, n: integer;
BD: array[1..100] of TRec;
menu, curr: integer;
R: TRec;
Begin
n := 0;
clrscr;
repeat
menu := MainMenu;
case menu of
1: { Ввод базы }
begin
write('Кол-во больных в больнице = '); readln(n);
for i := 1 to n do
begin
writeln('Информация о большом №', i);
with R do
begin
writeln('Имя : '); readln(fname);
writeln('Фамилия : '); readln(secName);
writeln('Отчество : '); readln(thName);
writeln('Номер палаты: '); readln(nomer);
writeln('Пол : '); readln(Pol);
writeln('Диагноз : '); readln(Diag);
writeln;
end;
BD[i] := R;
end;
end;
2: { Вывод базы на экран }
begin
if n = 0 then writeln('<База пуста>')
else
for i := 1 to n do with BD[i] do
begin
writeln('Имя : ', fname);
writeln('Фамилия : ', secName);
writeln('Отчество : ', thName);
writeln('Номер палаты: ', nomer);
writeln('Пол : ', Pol);
writeln('Диагноз : ', Diag);
writeln;
end;
end;
3: { Здесь будут запросы }
begin
end;
4: { Корректировка базы }
begin
write('Какую запись будем корректировать?');
readln(curr);
if (curr > 0) and (curr <= n) then
with BD[curr] do
begin
writeln('До корректировки:');
writeln('Имя : ', fname);
writeln('Фамилия : ', secName);
writeln('Отчество : ', thName);
writeln('Номер палаты: ', nomer);
writeln('Пол : ', Pol);
writeln('Диагноз : ', Diag);
writeln;
writeln('Введите новые данные:');
writeln('Имя : '); readln(fname);
writeln('Фамилия : '); readln(secName);
writeln('Отчество : '); readln(thName);
writeln('Номер палаты: '); readln(nomer);
writeln('Пол : '); readln(Pol);
writeln('Диагноз : '); readln(Diag);
writeln;
end
else
writeln('<Несуществующая запись>');
end;
end;
until menu = 5;
end.
"Реализация концепции СУБД через массив записного типа языка Pascal" подразумевает работу с динамическим массивом? Или просто создать массив на заведомо большее реального количества количество пациентов?
Спасибо volvo нет с файлами в этом работе работать не надо, а вот вы виделия ссылку давал у меня не получается что то разобраться с тем кодом, но всё равно спасибо вам.
Добавлено через 6 мин.
Извини просто я не ту работу думал делать (перепутал вариант).Теперь подскажи что мне делать.
Спасибо что напомнил про твой пост сверху , а то я его не заметил сейчас буду делать.