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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.02.2009, 00:13   #1
katmal
Новичок
Джуниор
 
Регистрация: 03.02.2009
Сообщений: 1
По умолчанию помогите, пожалуйста, разобраться. record.

нужно протестировать совпадение реквезита"всего продано" и общей суммы реквезита "в том числе". Если встречаются запси, в которых указаные величины не совпадают, то они переносятся во вновь создаваемый файл с внешним именем "met_err"


program metall;
type
tip1=record
data:string[6];
kod:string[6];
vs,ch,pr,vt,s:real;
end;
var
f:file of tip1;
d:tip1;
name:string;
i,max_d:integer;
procedure sozd;
begin
write('ввидите кол-во записей');
readln(max_d);
writeln;
writeln('заполнение данных в файл*');
writeln;
{$i-}
assign(f,'metall');
reset(f);
seek(f,filesize(f));
{$i+}
if ioresult<>0 then
rewrite (f);
for i:=1 to max_d do
begin
writeln('-------------',i,'------------------');
write('введите дату');
readln(d.data);
write('введите код покупателя');
readln(d.kod);
write('введите сколько всего продано');
readln(d.vs);
write('введите сколько продано чугуна*');
readln(d.ch);
write('введите прокат');
readln(d.pr);
write('в том числе других металлов');
readln(d.vt);
write(f,d);
end;
close(f);
writeln;
writeln('данные сохранены в файл');
readln;
end;
katmal вне форума Ответить с цитированием
Старый 04.02.2009, 13:00   #2
Викдон
Форумчанин
 
Аватар для Викдон
 
Регистрация: 11.11.2008
Сообщений: 161
По умолчанию

как я понял если хотя бы один реквизит в записи не совпадант с ключевым, то эта запись записывается в новый файл
вот держи:
Код:
program metall;
type
  tip1=record
   data:string[6];
   kod:string[6];
   vs,ch,pr,vt,s:real;
  end;

var f:file of tip1;
    d:tip1;
    name:string;
    i,max_d,k:integer;
    f2:file of tip1;



procedure Sort;
var VseP,Vt:real;
begin
 assign(f,'metall');
 assign(f2,'met_err');
  rewrite(f2);
   write('Введите реквизит -"всего продано": ');
   readln(vseP);
   write('Введите реквизит - "в том числе": ');
   readln(Vt);
     {$I-}
     reset(f);
        if IoResult<>0 then
          begin
           write('Файл не найден!');
           readln;
           exit;
          end;
     {$I+}
       for i:=1 to Filesize(f) do
        begin
         read(f,d);
          if (d.vs<>Vsep)  or (d.vt<>Vt) then
            write(f2,d);
        end;
  close(f);
  close(f2)


end;



procedure sozd;
begin
   assign(f,'metall');
   assign(f2,'met_err');
write('Введите колличество записей');
readln(max_d);
writeln;
writeln('Заполнение данных в файл*');
writeln;
{$i-}
reset(f);
seek(f,filesize(f));
{$i+}
if ioresult<>0 then
rewrite (f);
  for i:=1 to max_d do
    begin
     writeln('-------------',i,'------------------');
     write('Введите дату: ');
     readln(d.data);
     write('Введите код покупателя: ');
     readln(d.kod);
     write('Введите сколько всего продано: ');
     readln(d.vs);
     write('Введите сколько продано чугуна');
     readln(d.ch);
     write('Введите прокат: ');
     readln(d.pr);
     write('в том числе других металлов');
     readln(d.vt);
     write(f,d);
   end;

close(f);
writeln;
writeln('данные сохранены в файл');
readln;
end;


begin
while true do
 begin
   writeln('Выберите действие: ');
   writeln('1-Создать запись');
   writeln('2-Протестировать');
   writeln('3-Выход');
   readln(k);
    case k of
      1:sozd;
      2:sort;
      3:exit;
    end;
 end;

end.
Викдон вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста разобраться в С++. radikayupov1710 Общие вопросы C/C++ 0 30.01.2009 21:16
Помогите, пожалуйста разобраться с поиском в БД (Delphi7) KARUSHEV Помощь студентам 10 27.01.2009 19:43
Помогите, пожалуйста разобраться с калькулятором KARUSHEV Помощь студентам 5 14.01.2009 18:04
Пожалуйста помогите разобраться) Atij1 Общие вопросы C/C++ 4 13.04.2008 20:32