Форум
» Назад на решение задач по физике и термеху
Регистрация | Профиль | Войти | Забытый пароль | Присутствующие | Справка | Поиск

» Добро пожаловать, Гость: Войти | Регистрация
    Форум
    Информационные технологии
        Поиск
Отметить все сообщения как прочитанные   [ Помощь ]
» Добро пожаловать на форум "Информационные технологии" «

Переход к теме
<< Назад Вперед >>
Одна страница
Модераторы: paradise, KMA
  

RomeoSFS



Новичок

здравствуйте помогите пожалуйста вставить поиск в задачку


program spisoks;
uses crt;
const n=10000;
type spisok=record
tovar:string[20];
tip:string[10];
end;
type massa=record
cas:integer;
min:integer;
end;
var
   tbl:array[1..n] of spisok;
   vr:array [1..n]of massa;
   f:Text;
   k,y:integer;
procedure Make;
var l:string; n,i:integer;
begin
textcolor(green);
writeln('Создание файла');
 textcolor(black);
writeln('Введите имя файла');
readln(l);
    assign(f,l);
    rewrite(f);
n:=0;
   Repeat
       n:=n+1;
       Write(n,' Название товара ');
       ReadLn(tbl[n].tovar);
       If tbl[n].tovar <>'^' then
       begin
        Write(' Стоимость единицы товара в руб', n);
           readln (vr[n].min);
           Write(' Колличество  шт.', n);
           ReadLn(tbl[n].tip);
           Write(' масса в кг ', n);
           ReadLn(vr[n].cas);
       end;
       until tbl[n].tovar='^';
    for i:=1 to n-1 do
     begin
        writeln(f,tbl.tovar);
        writeln (f,vr.min);
        writeln(f,tbl.tip);
        writeln(f,vr.cas);
     end;
     close(f);
     writeln('Данные сохраннены, нажмите Enter.');
     readln;
  end;
procedure show;
var i:integer; l:string;
begin
textcolor(green);
writeln('Просмотр файла');
 textcolor(black);
writeln('Введите имя файла');
readln(l);
    assign(f,l);
    reset(f);
writeln('*****************СПИСОК ТОВАРОВ******************');
writeln('====ТОВАР====|=СТОИМОСТЬ=|=КОЛЛИЧЕСТВО=|==МАССА==');
    i:=0;
while not eof(f) do
  begin
inc(i);
readln(f,tbl.tovar);
readln(f,vr.min);
readln(f,tbl.tip);
readln(f,vr.cas);
writeln(' '  ,tbl.tovar,'   |     ' ,vr.min,'      |     ',tbl.tip,'      |       ',vr.cas      );
writeln('----------------------------------------------------');
  end;
     readln;
  close(f);
 end;
Procedure Sortirovka;
var i,j,m: Integer;
p : spisok;
k : massa;
S :string;
begin
m:=0;
writeln('Введите имя файла:');
readln(S);
assign(f,S);
reset(f);
while not eof(f) do
  begin
inc(m);
readln(f,tbl[m].tovar);
readln(f,vr[m].min);
readln(f,tbl[m].tip);
readln(f,vr[m].cas);
end;
    For I:=1 to M do
    Begin
         For J:=1 to M-I do
         Begin
         if tbl[J].tovar[1] > tbl[J+1].tovar[1] then
              begin
               p.tovar:=tbl[J].tovar;
               k.min:=vr[J].min;
               p.tip:=tbl[j].tip;
               k.cas:=vr[J].cas;
               
               tbl[J].tovar:=tbl[J+1].tovar;
               vr[J].min:=vr[J+1].min;
               tbl[J].tip:=tbl[J+1].tip;
               vr[J].cas:=vr[J+1].cas;

               tbl[J+1].tovar:=p.tovar;
               vr[J+1].min:=k.min;
               tbl[J+1].tip:=p.tip;
               vr[J+1].cas:=k.cas;
               end;
           end;
           end;
For I:=1 to m do
Begin
textcolor(red);
writeln('*Товар* ',tbl.tovar,' *Стоимость* ',vr.min,' *Колличество* ',tbl.tip,'масса',vr.cas);
end;
textcolor(blue);
  writeln('Для продолжения нажмите Enter');
  readln;
  M:=0;
end;
begin
textbackground(10);
k:=0;
repeat
clrscr;
writeln('programma spisok');
writeln('1.Создание');
writeln('2.Показ');
writeln('3.Сортировка ');
writeln('4.Выход');
write('Выберите действие:');
 readln(y);
 case y of
  1:Make;
  2:show;
  3:Sortirovka;
  4:k:=1;
  end;
until k=1;
end.

Всего сообщений: 2 | Присоединился: декабрь 2012 | Отправлено: 16 дек. 2012 21:54 | IP

Отправка ответа:
Имя пользователя   Вы зарегистрировались?
Пароль   Забыли пароль?
Сообщение

Использование HTML запрещено

Использование IkonCode разрешено

Смайлики разрешены

Опции отправки

Добавить подпись?
Получать ответы по e-mail?
Разрешить смайлики в этом сообщении?
Просмотреть сообщение перед отправкой? Да   Нет
 

Переход к теме
<< Назад Вперед >>
Одна страница

Форум работает на скрипте © Ikonboard.com