Помогите С Прогой! Плз!

  • Автор темы серый111
  • Дата начала
С

серый111

#1
Ввести и сохранить в файле данные следующей структуры: № квитанции, наименование товара, дата поступления товара, срок, на который сдан товар, стоимость товара. Организовать просмотр исходных данных и вывести список товаров, отсортированный по дате поступления (по возрастанию, метод пузырька) с указанием № квитанции, наименования товара и даты поступления. Ввод и вывод данных организовать в виде таблиц. Отладку программы производить на примере файла, состоящего не менее чем из 15 записей.


uses crt;
const {определение константы размерности массива}
n_max=15;
type {Определение типа запись}
Tabliza=record
nomer,data: byte;
tovar: string [20] ;
srok: integer;
stoim: real
end;
spisok=array [1. . n_max] of Tabliza;
{Определение используемых процедур}
procedure vvod2(var d: spisok);
procedure sort(var d: spisok);
procedure vyvod3(d: spisok);
implementation
{Процедура считывания данных из файла}
procedure vvod2(var d: spisok);
var
i: byte;
f: text;
res: integer;
fname: string [80] ;
otv: char;
begin
assign(f,'tab. pas');
fname: ='tab. pas';
{$I-}
reset(f); { открыть файл для чтения }
{$I+}
res: =IOResult;
if res<>0 then
begin
writeln('ОШИБКА: файл ',fname, ' не найден');
writeln('Для продолжения нажмите Enter');
readln;
halt;
end;
readln(f);
for i: =1 to 15 do begin
read(f,d . nomer);
read(f,d . tovar);
read(f,d . data);
read(f,d . srok);
read(f,d . stoim);
end;
close(f);
end;
{Процедура сортировки данных по дате}
procedure sort(var d: spisok);
var i,j: byte; t: tabliza;
begin
t: =d [1] ;
for i: =2 to 15 do
for j: =15 downto i do
if d [j-1]. data>d [j]. data then begin
t: =d [j-1] ;
d [j-1]: =d [j] ;
d [j]: =t
end
end;
{Процедура записи отсортированных данных в файл}
procedure vyvod3(d: spisok);
var
i: byte;
f1: text;
begin
assign(f1,'sort_tab. pas');
rewrite(f1);
writeln(f1,'nomer tovar data srok stoimost');
for i: =1 to 15 do begin
write(f1,d . nomer);
write(f1,d . tovar);
write(f1,d . data: 3);
write(f1,d . srok: 5);
write(f1,d . stoim: 8: 0);
writeln(f1);
end;
close(f1);
end;
end.



не пойму где ошибка!!!!!!!!!!!
 

gpatron

Active member
13.08.2009
26
0
#2
ошибок хватает:
все присваивания : = замени на := (убери пробел)
d . nomer замени на d.nomer (также убери пробелы )
spisok=array [1. . n_max] of Tabliza; много пробелов нужно заменить на spisok=array [1..n_max] of Tabliza;
не вижу тела основной программы begin ... end; из которой и будут вызываться все описанные процедуры
это так на вскидку.. мож шото еще там имеется...