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

Тема в разделе "Pascal and Delphi", создана пользователем серый111, 12 дек 2013.

  1. серый111

    серый111 New Member

    Регистрация:
    12 дек 2013
    Сообщения:
    1
    Симпатии:
    0
    Ввести и сохранить в файле данные следующей структуры: № квитанции, наименование товара, дата поступления товара, срок, на который сдан товар, стоимость товара. Организовать просмотр исходных данных и вывести список товаров, отсортированный по дате поступления (по возрастанию, метод пузырька) с указанием № квитанции, наименования товара и даты поступления. Ввод и вывод данных организовать в виде таблиц. Отладку программы производить на примере файла, состоящего не менее чем из 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.



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

    gpatron Active Member

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

Поделиться этой страницей