Другие языки программирования и технологии

Да что за..проблема с END в паскале

{while(1>0)do begin writeln('1: Sozdanie novoi tablicy;'); writeln('2: Prosmotr tekuschei tablicy;'); writeln('3: Vyvod sotrudnikov, zarplata kotoryh prevyshaet zadannuu velichinu;'); writeln('4: Steret fail;'); writeln('5: Vyhod;'); readln(switcher); case switcher of 1: sozdanie; 2: vyvod; 3: zarplata; 4: delete; 5: vyhod; else halt(1); end; end; } {Sozdanie bazy} type base=record fio:string[15]; dolzhnost:string[20]; tabelnyi_nomer,oklad:longint; stazh_raboty:integer; end; Var Sotrudniki:array[1..1000] of base;t:longint;s:string; i,j,k,n,p:integer; {type list=array[1..2] of integer; {ispravit} {procedure quicksort(var a:list;Lo,Hi:integer); procedure sort(l,r: integer); var i,j,x,y: integer; begin randomize; i:=l; j:=r; x:=a[l+random(r-l+1)]; repeat while a<x>:=a[j]+a; a[j]:=a-a[j]; a:=a-a[j];} {t:=Sotrudniki; Sotrudniki:=Sotrudniki[j]; Sotrudniki[j]:=t; inc(i);dec(j); end; until i>j; if l<j>.tabelnyi_nomer); Write('Vvedite fio ',i,' sotrudnika: '); Readln(Sotrudniki.fio); Write('Vvedite dolzhnost ',i,' sotrudnika: '); Readln(Sotrudniki.dolzhnost); Write('Vvedite razmer oklada ',i,' sotrudnika: '); Readln(Sotrudniki.oklad); Write('Vvedite stazh raboty ',i,' sotrudnika: '); Readln(Sotrudniki.stazh_raboty); {sortirovka bazy} for i:=1 to n-1 do for k:=2 to n do if Sotrudniki[k-1].stazh_raboty > Sotrudniki[k].stazh_raboty then begin t:=Sotrudniki[k-1].tabelnyi_nomer; Sotrudniki[k-1].tabelnyi_nomer:=Sotrudniki[k].tabelnyi_nomer; Sotrudniki[k].tabelnyi_nomer:=t; s:=Sotrudniki[k-1].fio; Sotrudniki[k-1].fio:=Sotrudniki[k].fio; Sotrudniki[k].fio:=s; s:=Sotrudniki[k-1].dolzhnost; Sotrudniki[k-1].dolzhnost:=Sotrudniki[k].dolzhnost; Sotrudniki[k].dolzhnost:=s; t:=Sotrudniki[k-1].oklad; Sotrudniki[k-1].oklad:=Sotrudniki[k].oklad; Sotrudniki[k].oklad:=t; p:=Sotrudniki[k-1].stazh_raboty; Sotrudniki[k-1].stazh_raboty:=Sotrudniki[k].stazh_raboty; Sotrudniki[k].stazh_raboty:=p; end; { begin quicksort(Sotrudniki,1,n); end; } {prosmotr tekuschei bazy} write('Tabelnyi nomer '); write('FIO '); write('Dolzhnost '); write('Oklad '); writeln('Stazh raboty'); for i:=1 to n do begin write((Sotrudniki.tabelnyi_nomer):14,' '); p:=15-length(Sotrudniki.fio); write(Sotrudniki.fio,' '); for j:=0 to p-1 do write(' '); p:=20-length(Sotrudniki.dolzhnost); write(Sotrudniki.dolzhnost,' '); for j:=0 to p-1 do write(' '); write((Sotrudniki.oklad):10,' '); Write((Sotrudniki.stazh_raboty):3,' '); writeln; end; end. не компилирует выдает ошибку на последнем енде Помогите найти ошибку плиз!
JA
Jomi Abduloev
338
На сколько я понял {Sozdanie bazy} это начало основной программы. Так вот после того как ты описала type, начала описывать переменные в Var, а потом добавила процедуру sort, в конце которой ты правильно поставила end; - почему сразу начала делать цикл until???
Где же начало програмы? сам begin! Думаю именно изза него, точнее изза его отсутствия и все проблемы.. .
Допиши: Begin {возможно добавь: clrscr; }
А то что 8 end'ов и 5 begin'ов, то это нормально.. . ведь при описании type base=record не нужен begin, и в case тоже begin не нужен, вот их потому и мало.. .
Удачи!
Ерик Сандыбаев
Ерик Сандыбаев
2 356
Лучший ответ
скажем так.. . у тебя 8 end и 5 begin. по моему вывод очевиден
Кинь код и задание либо на почту либо в асю 356330676

Я в код не всматривался ибо во первых у меня три часа ночи глаза слипаются, во вторых "мега" мэйл очень "ровно" отображает код:) , в третьих тут как-то кусками все непонятно где начало) ну да равенство не всегда выполняется ну даже если type и case то 8 против 7 :) один пропущен.

Курсовую кстати уже написал давно :) тоже по БД была
Кекс .......
Кекс .......
20 142
Посмотри внимательнее все ли операторные скобки закрыты? ИМХО у тебя во вложеном цикле ENDов не хватает )))