Помощь - Поиск - Пользователи - Календарь
Полная версия: Поиск
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
CherkaS
 ! 
Пользуйся тегами !
klem4


написал поиск по сумме товара а она не работает вернее работает ели ввести 1 но если вводить все кроме 1 то там все зацикливается и все кароче так не должно быть
вот код программы!!!
посмотрите пожалуйста и скажите что у меня не правильно почему программа не работает!!

 program search;
 uses
    crt;
 var
    res:text;
    x,v,k,s,s1,s2:string;
    n:boolean;
    m,l,i,b,p:integer;
    z:longint;
    c:char;


 BEGIN
 assign(res,'BD.che');
 write ('[vvedite CTOUMOCTb iskomogo produkta] ');
 readln(x);
 z:=length(x);
 reset(res);
  while not EOF(res) do
       begin
         readln(res,k);
         p:=pos('_',k);
         s1:=k;
         s2:=k;
         delete(s1,1,p);
         delete(s2,p,length(k));
         l:=length(s1);
         for i:=1 to l do begin
         for m:=1 to z do
         if s1[i]=x[m] then begin;
         n:=true;
         inc(i);
         end else begin
             n:=false;
             break;
             end;
         if n=true then
          begin
          writeln(s2+' '+s1+'pyb.');
          end;        end;
         end;
 close(res);
 readln;
 end.


файлы в базе выглядят следующем виде:
помидори_12
памела_65
огурцы_9

(название продукта)_(цена продукта)
volvo
Так не проще?

program search;
uses
  crt;
var
  res:text;

  x, price: integer;
  s: string;
  code, pp: integer;


BEGIN
  assign(res,'BD.che');
  write ('[vvedite CTOUMOCTb iskomogo produkta] ');
  readln(x);

  reset(res);
  while not EOF(res) do begin

    readln(res, s);
    pp := pos('_', s);
    val(copy(s, pp + 1, 255), price, code);
    if (code = 0) and (price = x) then
      writeln(copy(s, 1, pp - 1) + ' ', x, ' pyb.');

  end;
  close(res);
  readln;
end.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.