Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.06.2014, 19:25   #1
Monarch
Новичок
Джуниор
 
Регистрация: 29.06.2014
Сообщений: 2
По умолчанию Ввод-вывод данных из файла PASCAL

Здравствуйте.Нужна помощь в паскале,нужно к этой программе добавить вывод в файл(txt).Сам с паскалем не сильно знаком.
Вот сама программа.
Код:
program restoran;
uses crt;

type spisok = record
    nazva: string[20];
    kilkist: string[20];
    cina: string[20];
    vaga: integer;
    ingridienty: integer;
  end;
  FT = file of spisok;
var a: ft;
  i, z: integer;
  s: real;

procedure Sozdanie(var a: ft);
var j: integer;
  zk: spisok;
begin
  rewrite(a);
  repeat
    begin
      write('vvedit nazvu stravy ');
      readln(zk.nazva);
      write('Vvedit kilkist ');
      readln(zk.kilkist);
      write('vvedit cinu ');
      Readln(zk.cina);
      write('vvedit vagu ');
      readln(zk.vaga);
      write('vvedit ingridienty ');
      readln(zk.ingridienty);
      write(a, zk);
      writeln('Продолжить запись? ДА-1 НЕТ-0');
      readln(j);
    end;
  until j = 0;
  close(a);
end;

procedure vyvod(var a: ft);
var i: integer;
  zk: spisok;
begin
  clrscr;
  reset(a);
  writeln('=================================');
  writeln('| Nazva| kilkist| cina| vaga| ingridienty');
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    write('|', zk.nazva: 6, '|');
    write('|', zk.kilkist: 9, '|');
    write('|', zk.cina: 6, '|');
    write('|', zk.vaga: 9, '|');
    write('|', zk.ingridienty: 6, '|');
    writeln;
    writeln('-------------------------------');
  end;
  close(a);
  writeln;
  readln;
end;

procedure poisk(var a: ft);
var i: integer;
  zk: spisok;
  Kniga: string;
begin
  clrscr;
  reset(a);
  writeln('Vvedit nazvi dlja poshuku ');
  readln(Kniga);
  writeln('spisok s zadannym imenem ');
  writeln('=================================');
  writeln('| Nazva| kilkist| cina| vaga| ingrydienty');
 {вот теперь тут загвоздочка,выводит так,как написано здесь при поиске}
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    if zk.nazva = Kniga then
    begin
      write('|', zk.nazva: 6, '|');
      write('|', zk.kilkist: 9, '|');
      write('|', zk.cina: 6, '|');
      write('|', zk.vaga: 9, '|');
      write('|', zk.ingridienty: 6, '|');
      writeln;
      writeln('-------------------------------');
    end;
  end;
  close(a);
  writeln;
  readln;
end;

begin
  repeat
    clrscr;
    assign(a, 'fff');
    writeln('       MEHU      ');
    writeln('1:cozdanie ');
    writeln('2:vyvod ');
    writeln('3:poisk ');
    writeln('4:vyxod ');
    readln(z);
    case z of
      1: Sozdanie(a);
      2: vyvod(a);
      3: poisk(a);
      {4: exit;}
    end;
  until z=4;
  WriteLn;
  WriteLn('Programma zakonchila raboty.');
  readln
end.

Последний раз редактировалось Stilet; 29.06.2014 в 19:47.
Monarch вне форума Ответить с цитированием
Старый 29.06.2014, 19:50   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
добавить вывод в файл(txt)
Код:
procedure vyvod(var a: ft);
var i: integer;t:text;
  zk: spisok;
begin
  clrscr;
  reset(a); assign(t,'file.txt'); rewrite(t);
  writeln('=================================');
  writeln('| Nazva| kilkist| cina| vaga| ingridienty');
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    write('|', zk.nazva: 6, '|');
    write('|', zk.kilkist: 9, '|');
    write('|', zk.cina: 6, '|');
    write('|', zk.vaga: 9, '|');
    write('|', zk.ingridienty: 6, '|');
    writeln;

    write(t,'|', zk.nazva: 6, '|');
    write(t,'|', zk.kilkist: 9, '|');
    write(t,'|', zk.cina: 6, '|');
    write(t,'|', zk.vaga: 9, '|');
    write(t,'|', zk.ingridienty: 6, '|');
    writeln(t,'-------------------------------');
  end;
  close(a); close(t);
  writeln;
  readln;
end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.06.2014, 20:03   #3
Monarch
Новичок
Джуниор
 
Регистрация: 29.06.2014
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Код:
procedure vyvod(var a: ft);
var i: integer;t:text;
  zk: spisok;
begin
  clrscr;
  reset(a); assign(t,'file.txt'); rewrite(t);
  writeln('=================================');
  writeln('| Nazva| kilkist| cina| vaga| ingridienty');
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    write('|', zk.nazva: 6, '|');
    write('|', zk.kilkist: 9, '|');
    write('|', zk.cina: 6, '|');
    write('|', zk.vaga: 9, '|');
    write('|', zk.ingridienty: 6, '|');
    writeln;

    write(t,'|', zk.nazva: 6, '|');
    write(t,'|', zk.kilkist: 9, '|');
    write(t,'|', zk.cina: 6, '|');
    write(t,'|', zk.vaga: 9, '|');
    write(t,'|', zk.ingridienty: 6, '|');
    writeln(t,'-------------------------------');
  end;
  close(a); close(t);
  writeln;
  readln;
end;
Извините за дурной вопрос, так должна выглядеть конечная программа?
Код:
program restoran;
uses crt;

type spisok = record
    nazva: string[20];
    kilkist: string[20];
    cina: string[20];
    vaga: integer;
    ingridienty: integer;
  end;
  FT = file of spisok;
var a: ft;
  i, z: integer;
  s: real;

procedure Sozdanie(var a: ft);
var j: integer;
  zk: spisok;
begin
  rewrite(a);
  repeat
    begin
      write('vvedit nazvu stravy ');
      readln(zk.nazva);
      write('Vvedit kilkist ');
      readln(zk.kilkist);
      write('vvedit cinu ');
      Readln(zk.cina);
      write('vvedit vagu ');
      readln(zk.vaga);
      write('vvedit ingridienty ');
      readln(zk.ingridienty);
      write(a, zk);
      writeln('Продолжить запись? ДА-1 НЕТ-0');
      readln(j);
    end;
  until j = 0;
  close(a);
end;

procedure vyvod(var a: ft);
var i: integer;t:text;
  zk: spisok;
begin
  clrscr;
  reset(a); assign(t,'file.txt');rewrite(t);
  writeln('=================================');
  writeln('| Nazva| kilkist| cina| vaga| ingridienty');
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    write('|', zk.nazva: 6, '|');
    write('|', zk.kilkist: 9, '|');
    write('|', zk.cina: 6, '|');
    write('|', zk.vaga: 9, '|');
    write('|', zk.ingridienty: 6, '|');
    writeln;

    write(t,'|', zk.nazva: 6, '|');
    write(t,'|', zk.kilkist: 9, '|');
    write(t,'|', zk.cina: 6, '|');
    write(t,'|', zk.vaga: 9, '|');
    write(t,'|', zk.ingridienty: 6, '|');
    writeln(t,'-------------------------------');
  end;
  close(a); close(t);
  writeln;
  readln;
end;

procedure poisk(var a: ft);
var i: integer;
  zk: spisok;
  Kniga: string;
begin
  clrscr;
  reset(a);
  writeln('Vvedit nazvi dlja poshuku ');
  readln(Kniga);
  writeln('spisok s zadannym imenem ');
  writeln('=================================');
  writeln('| Nazva| kilkist| cina| vaga| ingrydienty');
 {вот теперь тут загвоздочка,выводит так,как написано здесь при поиске}
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    if zk.nazva = Kniga then
    begin
      write('|', zk.nazva: 6, '|');
      write('|', zk.kilkist: 9, '|');
      write('|', zk.cina: 6, '|');
      write('|', zk.vaga: 9, '|');
      write('|', zk.ingridienty: 6, '|');
      writeln;
      writeln('-------------------------------');
    end;
  end;
  close(a);
  writeln;
  readln;
end;

begin
  repeat
    clrscr;
    assign(a, 'fff');
    writeln('       MEHU      ');
    writeln('1:cozdanie ');
    writeln('2:vyvod ');
    writeln('3:poisk ');
    writeln('4:vyxod ');
    readln(z);
    case z of
      1: Sozdanie(a);
      2: vyvod(a);
      3: poisk(a);
      {4: exit;}
    end;
  until z=4;
  WriteLn;
  WriteLn('Programma zakonchila raboty.');
  readln
end.

Последний раз редактировалось Stilet; 29.06.2014 в 20:11.
Monarch вне форума Ответить с цитированием
Старый 29.06.2014, 20:11   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Откуда же я могу знать как ей нужно выглядеть? Это известно только твоему преподавателю )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ввод данных в массив записей из текстового файла, сортировка по ключу, вывод в файл (на Паскаль) orandzheviyman Помощь студентам 8 21.01.2014 08:15
ввод-вывод из файла (С#) lenka91 Помощь студентам 6 19.12.2013 17:00
Ввод и вывод данных из файла Despot777 Общие вопросы C/C++ 1 26.10.2013 20:11
ввод-вывод из файла vrtp Общие вопросы C/C++ 1 05.04.2012 08:08
Организовать ввод данных с файла созданного в первом задании и вывод их терминал. Saniok Помощь студентам 2 25.10.2007 22:25