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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.07.2013, 12:26   #11
ololeshka
Новичок
Джуниор
 
Регистрация: 28.07.2013
Сообщений: 1
По умолчанию

спасибо автору кода,чуток перепилил под себя и добавил поиск по вариантам,а не только по названию(в вашем случае)


Код:
program color;
uses crt;

type spisok = record
    brulex: string[20];
    spies: string[20];
    standox: string[20];
    mobihel:  string[20];
    
  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(' код brulex ');
      readln(zk.brulex );
      write('код spies ');
      readln(zk.spies);
      write('код standox ');
      Readln(zk.standox);
      write('код mobihel ');
      readln(zk.mobihel);
      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('|brulex| spies| standox| mobihel|');
  writeln('=================================');
  while not eof(a) do
  begin
    read(a, zk);
    write('|', zk.brulex: 6, '|');
    write('|', zk.spies: 9, '|');
    write('|', zk.standox: 6, '|');
    write('|', zk.mobihel: 9, '|');
    writeln;
    writeln('-------------------------------');
  end;
  close(a);
  writeln;
  readln;
end;


procedure Pbrulex(var a: ft);
var i: integer;
  zk: spisok;
  Kraska: string;
begin
  clrscr;
  reset(a);
  writeln('введи код краски ');
  readln(Kraska);
  while not eof(a) do
  begin
    read(a, zk);
    if zk.brulex = kraska then
    begin
      write('|', zk.brulex: 6, '|');
      write('|', zk.spies: 9, '|');
      write('|', zk.standox: 6, '|');
      write('|', zk.mobihel: 9, '|');
      
      writeln;
      writeln('|brulex| spies| standox| mobihel|');
      writeln('-------------------------------');
    end;
  end;
  close(a);
  writeln;
  readln;
end;


procedure Pspies(var a: ft);
var i: integer;
  zk: spisok;
  Kraska: string;
begin
  clrscr;
  reset(a);
  writeln('введи код краски ');
  readln(Kraska);
  while not eof(a) do
  begin
    read(a, zk);
    if zk.spies = kraska then
    begin
      write('|', zk.brulex: 6, '|');
      write('|', zk.spies: 9, '|');
      write('|', zk.standox: 6, '|');
      write('|', zk.mobihel: 9, '|');
      
      writeln;
       writeln('|brulex| spies| standox| mobihel|');
      writeln('-------------------------------');
    end;
  end;
  close(a);
  writeln;
  readln;
end;

procedure Pstandox(var a: ft);
var i: integer;
  zk: spisok;
  Kraska: string;
begin
  clrscr;
  reset(a);
  writeln('введи код краски ');
  readln(Kraska);
  while not eof(a) do
  begin
    read(a, zk);
    if zk.standox = kraska then
    begin
      write('|', zk.brulex: 6, '|');
      write('|', zk.spies: 9, '|');
      write('|', zk.standox: 6, '|');
      write('|', zk.mobihel: 9, '|');
      
      writeln;
       writeln('|brulex| spies| standox| mobihel|');
      writeln('-------------------------------');
    end;
  end;
  close(a);
  writeln;
  readln;
end;



procedure Pmobihel(var a: ft);
var i: integer;
  zk: spisok;
  Kraska: string;
begin
  clrscr;
  reset(a);
  writeln('введи код краски ');
  readln(Kraska);
  while not eof(a) do
  begin
    read(a, zk);
    if zk.mobihel = kraska then
    begin
      write('|', zk.brulex: 6, '|');
      write('|', zk.spies: 9, '|');
      write('|', zk.standox: 6, '|');
      write('|', zk.mobihel: 9, '|');
      
      writeln;
       writeln('|brulex| spies| standox| mobihel|');
      writeln('-------------------------------');
    end;
  end;
  close(a);
  writeln;
  readln;
end;



procedure poisk(var a: ft);
var i: integer;
  zk: spisok;
  Kraska: string;
begin
  clrscr;
  reset(a);
    assign(a, 'fff');
    writeln('       MEHU      ');
    writeln('1:brulex ');
    writeln('2:spies ');
    writeln('3:standox ');
    writeln('4:mobihel ');
    readln(i);
    case i of
      1: Pbrulex(a);
      2: Pspies(a);
      3: Pstandox(a);
      4: Pmobihel(a); 
      end;
  
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.
ololeshka вне форума Ответить с цитированием
Старый 28.07.2013, 19:46   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

маленькое замечание.
Цитата:
Код:
    assign(a, 'fff');
Вы используете совершенной не к месту...
возникает подозрение, что Вы не понимаете, что это за команда и для чего она нужна...

А ещё поразило, что Вы, похоже, при поиске сначала выводите записи, а потом заголовок таблицы
Ну и поиск я бы в одну процедуру засунул, только в зависимости от параметра разные поля проверял (обратите внимание, что там 99% кода совпадает)!

Ну так, в целом нормальный учебный код
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных ROMA2PVT Помощь студентам 8 20.03.2010 16:12
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34
База данных и паскаль Dimati87 Паскаль, Turbo Pascal, PascalABC.NET 1 30.04.2009 07:01