Перейти к содержанию

Помогите создать базу данных


Рекомендуемые сообщения

ыыы TolkienDRR

так покажу препод спросит сразу за скоко купил?

мы так не делали токо как у меня...

dec и inc что они делают?

Добавлено спустя 30 минут 32 секунды:

TolkienDRR

function SeeRec(N):boolean;

var Rec:TRec;

begin

clrscr;

reset(F);

if n>=0 and n<=filesize(F) then begin

seek(F,N);

read(F,Rec);

//показываем запись

end else SeeRec:=false;

close(f);

end;

procedure next;

begin

inc(n);

if not SeeRec(N) then dec(n);

end;

procedure previos;

begin

dec(n);

if not SeeRec(N) then inc(n);

end;

procedure first;

begin

n:=0;

seerec(N);

end;

procedure last;

begin

reset(f);

n:=filesize(f);

close(F);

seerec(N);

end;

а как моно написать как у мну?

вот прога которая пока у мя есь

program Kursovaya1;

uses crt;

const n=3; m=n-1;

type

rec=record

FIO:string [30];

marka:string [10];

colour:string [13];

number:integer;

end;

mas=array [1..n] of rec;

var i,flag,kr,w:byte;

f:file of rec;

mashina:mas;

auto:rec;

y,g:string;

procedure vvod;

begin

rewrite (f);

for i:=1 to n do

begin

textcolor(15); write ('FIO vladelca: '); readln (auto.FIO);

textcolor(2); write (' marka avtomobilia: '); readln (auto.marka);

textcolor(14); write (' cvet mashini: '); readln (auto.colour);

textcolor(13); write (' nomer mashini: '); readln (auto.number);

textcolor(4); write (f,auto);

end;

close (f);

end;

procedure vivod;

begin

reset (f);

for i:=1 to n do

begin

read (f,auto); writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8 );

end;

close (f);

readkey;

end;

procedure belii;

begin;

reset (f);

w:=0;

while not eof(f) do

begin

read (f,auto);

if auto.colour='belii' then

inc(w);

end;

write ('kolichesnvo belih mashin: ',w);

writeln;

close(f);

writeln;

end;

{

procedure cvedeniya;

begin;

reset (f);

while not eof(f) do

begin

read (f,auto);

writeln('vvedite marku mashini');

readln(y);

writeln('vvedite cvet mashini');

readln(g);

if auto.marka=y then writeln('FIO vladelca: ',auto.FIO);

close (f);

writeln;

end;}

procedure first;

begin;

reset (f);

seek(f,0);

read(f,auto);

writeln('pervii element: ');

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close(f);

writeln;

end;

procedure last;

begin;

reset (f);

seek(f,m);

writeln('poslednii eloement: ');

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close(f);

writeln;

end;

begin

clrscr;

assign(f,'automobile.dat');

flag:=0;

textbackground(13);

clrscr;

window(10,5,70,20);

textbackground(0);

clrscr;

repeat

writeln ('1. vvod');

writeln ('2. vivod');

writeln ('3. belii');

writeln ('4. cvedeniya');

writeln ('5. first');

writeln ('6. last');

writeln ('0. vihod');

write ('vvedite nomer: ');

readln (kr);

case kr of

1:vvod;

2:vivod;

3:belii;

{ 4:cvedeniya;}

5:first;

6:last;

0:break;

end;

flag:=1;

until flag=0;

end.

Ссылка на комментарий

TolkienDRR

я чо то не понял твою программу... слишком трудно для меня мы однако так не делали...

program Kursovaya1;

uses crt;

const n=3; m=n-1; m1=n+1;

type

rec=record

FIO:string [30];

marka:string [10];

colour:string [13];

number:integer;

end;

mas=array [1..n] of rec;

var i,flag,kr,w,nxt1,prev1:byte;

f:file of rec;

mashina:mas;

auto:rec;

y,g:string;

nxt:1..m;

prev:2..m1;

procedure vvod;

begin

rewrite (f);

for i:=1 to n do

begin

textcolor(15); write ('FIO vladelca: '); readln (auto.FIO);

textcolor(2); write (' marka avtomobilia: '); readln (auto.marka);

textcolor(14); write (' cvet mashini: '); readln (auto.colour);

textcolor(13); write (' nomer mashini: '); readln (auto.number);

textcolor(4); write (f,auto);

end;

close (f);

end;

procedure vivod;

begin

reset (f);

for i:=1 to n do

begin

read (f,auto); writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8 );

end;

close (f);

readkey;

end;

procedure belii;

begin;

reset (f);

w:=0;

while not eof(f) do

begin

read (f,auto);

if auto.colour='belii' then

inc(w);

end;

write ('kolichesnvo belih mashin: ',w);

writeln;

close(f);

writeln;

end;

procedure cvedeniya;

begin;

reset (f);

while not eof(f) do

begin

read (f,auto);

writeln('vvedite marku mashini');

readln(y);

writeln('vvedite cvet mashini');

readln(g);

if auto.marka=y

then writeln('FIO vladelca: ',auto.FIO);

end;

close (f);

writeln;

end;

procedure next;

begin

reset (f);

writeln ('vvedite chislo ot 1 do (n-1): ');

readln (nxt);

nxt1:=nxt+1;

seek (f,nxt1);

read (f,auto);

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close (f);

writeln;

end;

procedure previous;

begin

reset (F);

writeln('vvedite nomer ot dvuh do n: ');

readln (prev);

prev1:=prev-1;

seek (f,prev1);

read (f,auto);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close (f);

writeln;

end;

procedure first;

begin

reset (f);

seek(f,0);

read(f,auto);

writeln('pervii element: ');

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close(f);

writeln;

end;

procedure last;

begin;

reset (f);

seek(f,m);

writeln('poslednii element: ');

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close(f);

writeln;

end;

begin

clrscr;

assign(f,'automobile.dat');

flag:=0;

textbackground(13);

clrscr;

window(10,5,70,20);

textbackground(0);

clrscr;

repeat

writeln ('1. vvod');

writeln ('2. vivod');

writeln ('3. belii');

writeln ('4. cvedeniya');

writeln ('5. first');

writeln ('6. last');

writeln ('7. next');

writeln ('8. previous');

writeln ('0. vihod');

write ('vvedite nomer: ');

readln (kr);

case kr of

1:vvod;

2:vivod;

3:belii;

4:cvedeniya;

5:first;

6:last;

7:next;

8:previous;

0:break;

end;

flag:=1;

until flag=0;

end.

помогите у меня проєедура next и previous не пашут, а еїе посмотрите на проєедуру сведения там нада ввести євет и марку машины, у меня не получается, потомучто там какая то ошибка вылезает. емое проєедура ласт показывает первый элемент вроде правильно написал проєедуру

пожалуста посмотрите на эти 4 проєедуры.

заранее благодарен

Ссылка на комментарий


begin;
reset (f);
writeln('vvedite marku mashini');
readln(y);
writeln('vvedite cvet mashini');
readln(g);
while not eof(f) do
begin
read (f,auto);
if (auto.marka=y) and (auto.coloour=g) then
writeln('FIO vladelca: ',auto.FIO);
end;
close (f);
writeln;
end;
procedure cvedeniya;

Добавлено спустя 8 минут 43 секунды:

Cloud

next prev и тд возьми у TolkienDRR

поменяй inc(n) на n:=n+1; а dec(n) на n:=n-1;

Добавлено спустя 7 минут 27 секунд:


begin
n:=n+1;
clrscr;
reset(F);
if n>=0 and n<=filesize(F) then
begin
seek(F,n);
read(F,auto);
end
else
n:=n-1;
close(f);
writeln(auto.FIO:30,
auto.marka:10,
auto.colour:13,
auto.number:8);
end;

procedure previos;
begin
n:=n-1;
clrscr;
reset(F);
if n>=0 and n<=filesize(F) then
begin
seek(F,n);
read(F,auto);
end
else
n:=n+1;
close(f);
writeln(auto.FIO:30,
auto.marka:10,
auto.colour:13,
auto.number:8);
end;

procedure first;
begin
n:=0;
end;

procedure last;
begin
reset(f);
n:=filesize(f);
close(F);
end;
procedure next;

Ссылка на комментарий

спасибо большоеbayarookie!!!

ыы моно те вопросы в проєедуре некст

procedure next;

begin

n:=n+1; ---------------- присваиваем н на н+1

clrscr; -----------очиїаем экран

reset(F); -----------------открываем эћ

if n>=0 and n<=filesize(F) then --------если н больше нули и т меньше размера эћ

begin ------начало

seek(F,n); ---------встал перед записью эн

read(F,auto); -----------открыл запись эн

end ---------конеє

else

n:=n-1;----------обратно присваиваем н на и+1 (то есть обратно получаем н?)

close(f);----------закрыть эћ

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end

коменты верны?

Добавлено спустя 7 минут 33 секунды:

procedure next;

begin

n:=n+1;

clrscr;

reset(F);

if n>=0 and n<=filesize(F) then

begin

seek(F,n);

read(F,auto);

end

else

n:=n-1;

close(f);

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end;

procedure previos;

begin

n:=n-1;

clrscr;

reset(F);

if n>=0 and n<=filesize(F) then

begin

seek(F,n);

read(F,auto);

end

else

n:=n+1;

close(f);

writeln(auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end;

procedure first;

begin

n:=0;

end;

procedure last;

begin

reset(f);

n:=filesize(f);

close(F);

end;

в выделенных местах еррор 113 вылазиет:этот символ не может начинать оператор

в чом ошибка как исправлять?

Ссылка на комментарий

program Kursovaya1;

uses crt;

const n=3;

type

rec=record

FIO:string [30];

marka:string [10];

colour:string [13];

number:integer;

end;

mas=array [1..n] of rec;

var i,flag,kr,w:byte;

f:file of rec;

mashina:mas;

auto:rec;

y,g:string;

вот мой раздел описаний

а теперь

program Kursovaya1;

uses crt;

type

rec=record

FIO:string [30];

marka:string [10];

colour:string [13];

number:integer;

end;

mas=array [1..n] of rec;

var i,flag,kr,w:byte;

f:file of rec;

mashina:mas;

auto:rec;

y,g:string;

n:integer;

в выделенном месте анкнаун идентићер

program Kursovaya1;

uses crt;

var i,flag,kr,w:byte;

f:file of rec;

mashina:mas;

auto:rec;

y,g:string;

n:integer;

type

rec=record

FIO:string [30];

marka:string [10];

colour:string [13];

number:integer;

end;

mas=array [1..n] of rec;

выделеное это анкнаун идентићер

а как тогда описывать?

Ссылка на комментарий

спасибо

токо

procedure first;

begin

n:=0;

end;

не пашет

procedure next;

begin

nn:=nn+1;

clrscr;

reset (f);

if (nn>=0) and (nn<=filesize(f)) then

begin

seek (f,nn);

read (f,auto);

end;

else nn:=nn-1;

close (f)

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end;

procedure previous;

begin

nn:=nn-1;

clrscr;

reset (F);

if (nn>=0) and (n<=filesize(f)) then

begin

seek(f,nn);

read(f,auto);

end;

else nn:=nn+1;

close (f);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end;

}

procedure first;

begin

clrscr;

reset (f);

nn:=0;

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close(f);

end;

procedure last;

begin;

clrscr;

reset (f);

nn:=filesize(f);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close (f);

end;

а как в проєедуру некст и превиоус вводить элемент чтобы найти помледуюїей и предыдуїей записи???

Ссылка на комментарий

Cloud

зачем вводить элемент, у тебя текущая позиция в бд хранится в переменной nn.

Процедуры first и last я не доделал, потому что лень было расписывать их.

А у тебя в first и last не хватает read(f, auto);

Ссылка на комментарий

program Kursovaya1;

uses crt;

const n=3;

type

rec=record

FIO:string [30];

marka:string [10];

colour:string [13];

number:integer;

end;

mas=array [1..n] of rec;

var t,i,flag,kr,w:integer;

f:file of rec;

mashina:mas;

auto:rec;

y,g:string;

procedure vvod;

begin

rewrite (f);

for i:=1 to n do

begin

textcolor(15); write ('FIO vladelca: '); readln (auto.FIO);

textcolor(2); write (' marka avtomobilia: '); readln (auto.marka);

textcolor(14); write (' cvet mashini: '); readln (auto.colour);

textcolor(13); write (' nomer mashini: '); readln (auto.number);

textcolor(4); write (f,auto);

end;

close (f);

end;

procedure vivod;

begin

clrscr;

reset (f);

writeln(' | FIO | marka | colour | number |');

writeln(' |____________________________|____________|__________|________|');

for i:=1 to n do

begin

read (f,auto); writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end;

close (f);

readkey;

end;

procedure belii;

begin;

clrscr;

reset (f);

w:=0;

while not eof(f) do

begin

read (f,auto);

if auto.colour='belii'

then inc(w);

end;

write ('kolichesnvo belih mashin: ',w);

writeln;

close(f);

end;

procedure cvedeniya;

begin;

reset (f);

writeln('vvedite marku mashini');

readln(y);

writeln('vvedite cvet mashini');

readln(g);

while not eof (f) do

begin

read (f,auto);

if (auto.marka=y) and (auto.colour=g)

then writeln('FIO vladelca: ',auto.FIO)

else writeln('takih mashin net');

end;

close (f);

end;

{

procedure next;

begin

clrscr;

reset (f);

if (>=0) and (<=filesize(f)) then

begin

seek (f,);

read (f,auto);

end

else ;

close (f);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end;

procedure previous;

begin

nn:=nn-1;

clrscr;

reset (F);

if (nn>=0) and (n<=filesize(f)) then

begin

seek(f,nn);

read(f,auto);

end

else nn:=nn+1;

close (f);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

end; }

procedure first;

begin

clrscr;

reset (f);

seek(f,0);

read(f,auto);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close(f);

end;

procedure last;

begin;

clrscr;

reset (f);

t:=(filesize(f))-1;

seek(f,t);

read(f,auto);

writeln (auto.FIO:30,

auto.marka:10,

auto.colour:13,

auto.number:8);

close (f);

end;

begin

clrscr;

assign(f,'automobile.dat');

flag:=0;

textbackground(13);

clrscr;

window(5,5,75,20);

textbackground(0);

clrscr;

repeat

writeln ('1. vvod');

writeln ('2. vivod');

writeln ('3. belii');

writeln ('4. cvedeniya');

writeln ('5. first');

writeln ('6. last');

writeln ('7. next');

writeln ('8. previous');

writeln ('0. vihod');

write ('vvedite nomer: ');

readln (kr);

case kr of

1:vvod;

2:vivod;

3:belii;

4:cvedeniya;

5:first;

6:last;

{ 7:next;

8:previous;}

0:break;

end;

flag:=1;

until flag=0;

end.

процедура некст и превиоус помогите сделать!!! в этих процедурах чтобы начиналось с первого элемента( в смысле некст для один:второй, превиоус для один:не существует) вы наверное поняли да.

помогите пожалуста

зы в варе и тайпе ничо незя менять и констант тоже незя убирать(блин преподу звонил она сказала так делать=(( )

Ссылка на комментарий

ыыыыыыыы )))))) посоветовал и ушел ))))))) да я ж тебе всю навигацию сделал.

зачем что-то переделывать?

добавил бы только вывод инфы о записи (там где я это написал) и глобальную переменную n:integer.

Ссылка на комментарий

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...