cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 ооо спасибо большое!!!TolkienDRRреспект Ссылка на комментарий
cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 ыыы TolkienDRRтак покажу препод спросит сразу за скоко купил?мы так не делали токо как у меня...dec и inc что они делают?Добавлено спустя 30 минут 32 секунды:TolkienDRRfunction 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 begintextcolor(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. Ссылка на комментарий
cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 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 begintextcolor(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 проєедуры.заранее благодарен Ссылка на комментарий
bayarookie Опубликовано 23 мая, 2009 Жалоба Поделиться Опубликовано 23 мая, 2009 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 секунды:Cloudnext 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; Ссылка на комментарий
cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 спасибо большое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 вылазиет:этот символ не может начинать операторв чом ошибка как исправлять? Ссылка на комментарий
Clondike Опубликовано 23 мая, 2009 Жалоба Поделиться Опубликовано 23 мая, 2009 CloudПеременная n какого типа? Где ее описываешь? Правильно описывай переменные и будет тебе щастье. Ссылка на комментарий
cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 у меня переменная н в константах сидитыыы а какой дожен быть? пмоно byte Ссылка на комментарий
Clondike Опубликовано 23 мая, 2009 Жалоба Поделиться Опубликовано 23 мая, 2009 Cloudсделай обычную переменную, а не константу. Тип возьми например integer. И читай книжку, там всё описано. Ссылка на комментарий
cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 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;выделеное это анкнаун идентићера как тогда описывать? Ссылка на комментарий
bayarookie Опубликовано 23 мая, 2009 Жалоба Поделиться Опубликовано 23 мая, 2009 Cloudвместо n пиши что-нибудь другое, просто когда переделывал код TolkienDRR, то не посмотрел, что у тебя n уже используется Ссылка на комментарий
cloudy Опубликовано 23 мая, 2009 Автор Жалоба Поделиться Опубликовано 23 мая, 2009 спасиботоко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;а как в проєедуру некст и превиоус вводить элемент чтобы найти помледуюїей и предыдуїей записи??? Ссылка на комментарий
Lakers Опубликовано 23 мая, 2009 Жалоба Поделиться Опубликовано 23 мая, 2009 у тебя n описана? Ссылка на комментарий
cloudy Опубликовано 24 мая, 2009 Автор Жалоба Поделиться Опубликовано 24 мая, 2009 ага в констант и равна 3 Ссылка на комментарий
bayarookie Опубликовано 24 мая, 2009 Жалоба Поделиться Опубликовано 24 мая, 2009 Cloudзачем вводить элемент, у тебя текущая позиция в бд хранится в переменной nn.Процедуры first и last я не доделал, потому что лень было расписывать их.А у тебя в first и last не хватает read(f, auto); Ссылка на комментарий
cloudy Опубликовано 24 мая, 2009 Автор Жалоба Поделиться Опубликовано 24 мая, 2009 блин потом хорошенько присяду посмотрю, получается мне n ваще не надая? Ссылка на комментарий
bayarookie Опубликовано 24 мая, 2009 Жалоба Поделиться Опубликовано 24 мая, 2009 У тебя n используется при вводе данных, то есть ограничиваешь бд тремя записями, а если добавить понадобится? Ссылка на комментарий
cloudy Опубликовано 24 мая, 2009 Автор Жалоба Поделиться Опубликовано 24 мая, 2009 ааа блин там добавить незя бует да? а ц меня нада такую функцию реализовывать... Ссылка на комментарий
cloudy Опубликовано 24 мая, 2009 Автор Жалоба Поделиться Опубликовано 24 мая, 2009 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 begintextcolor(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.процедура некст и превиоус помогите сделать!!! в этих процедурах чтобы начиналось с первого элемента( в смысле некст для один:второй, превиоус для один:не существует) вы наверное поняли да.помогите пожалустазы в варе и тайпе ничо незя менять и констант тоже незя убирать(блин преподу звонил она сказала так делать=(( ) Ссылка на комментарий
TolkienDRR Опубликовано 25 мая, 2009 Жалоба Поделиться Опубликовано 25 мая, 2009 ыыыыыыыы )))))) посоветовал и ушел ))))))) да я ж тебе всю навигацию сделал.зачем что-то переделывать?добавил бы только вывод инфы о записи (там где я это написал) и глобальную переменную n:integer. Ссылка на комментарий
Рекомендуемые сообщения
Пожалуйста, войдите, чтобы комментировать
Вы сможете оставить комментарий после входа в
Войти