Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2010, 15:46   #1
Katia123
 
Регистрация: 22.06.2010
Сообщений: 4
По умолчанию База данных

Помогите, пожалуйста, поправить программку. Я что-то пыталась делать, но как-то не очень получилось:
Создайте базу данных с возможностью поиска. Введите 10 записей. Данные должны быть сохранены в типизированом файле, а результаты поиска должны быть представлены на екране или в текстовом файле, в зависимости от выбора пользователя:
program baza;
type student = record
familija, imia, data_razdenija: string[15];
end;

var stud: student;
a: array[1 .. 10] of student;
i, n, k: integer;
c, t:char;
x: integer;
f: file of student;
s: student;
j: longint;

procedure new(var s: student);
begin
with s do
begin
write('Familija studenta: ');
readln(s.familija);
write('Imia: ');
readln(s.imia);
write('Data rozdenija: ');
readln(s.data_rozdenija);
end;
Write(f, s);
end;

procedure pisem(var s: student);
begin
with s do
begin
write('Familija studenta: ');
readln(s.familija);
write('Imia: ');
readln(s.imia);
write('Data rozdenija: ');
readln(s.data_rozdenija);
end;
Write(f, s);
end;

procedure vid(var s: student);
begin
with s do
begin
write(a[i].familija:14);
write(a[i].imia:12);
write(a[i].data_rozdenija:4);
end;
end;

procedure poisk(var x: integer);
begin
assign(f, 'fail.dat');
WriteLn ('Vvedite familiju studenta: ');
writeln('Spisok:');
writeln('Familija studenta':14,'Imia':12,'Data rozdenija':4);
vid(a[i]);
end;

begin
assign(f, 'fail.dat');
writeln('Naidiom studenta po familiji');
writeln;
repeat
writeln('N: sozdanie novogo faila');
writeln('P: popolnenie faila');
writeln('V: soderzanije faila');
writeln('F: poisk');
writeln('X: konec raboti');
readln(t);
if (upcase(t)='N') then
begin
rewrite(f);
c:='D'; i:=0;
repeat
if (upcase(c)='D') then
begin
i:=i+1;
naujas(a[i]);
writeln('Escio budete vvodit? D/N');
readln(c);
end
else begin
writeln('Nado bilo vvesti D ili N');
readln(c);
end;
until (upcase(c)='N');
close(f);
end;

if (upcase(t)='P') then
begin
reset(f);
j := filesize(f);
seek(f, j);
writeln('Nacinaem popolnenie faila');
c:='D'; i:=0;
repeat
if (upcase(c)='D') then
begin
i:=i+1;
pisem(a[i+j]);
writeln('Escio budete vvodit? D/N');
readln(c);
end
else begin
writeln('Nado bilo vvesti D ili N');
readln(c);
end;
until (upcase(c)='N');
close(f);
end;

if (upcase(t)='V') then
begin
reset(f);
if filesize(f) = 0 then writeln('Faila netu')
else begin
writeln('Spisok:');
writeln('Familija studenta':14,'Imia':12,'Data rozdenija':4);
for i:= 1 to filesize(f) do
vid(a[i]);
end;
close(f);
end;

if (upcase(t)='F') then
begin
reset(f);
x := 8;
poisk(x);
close(f);
end;

if (upcase(t)<>'F') and (upcase(t)<>'N') and (upcase(t)<>'V') and (upcase(t)<>'P') and (upcase(t)<>'X') then writeln('takoi operacii netu');
until upcase(t)='X';
end.
Readln;
end.
Katia123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
База данных Spaun Помощь студентам 4 23.05.2010 14:56
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных DirtyGari Помощь студентам 7 02.12.2009 08:04
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34
База Данных xxasb07 Помощь студентам 2 09.12.2008 17:25