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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.12.2015, 22:48   #1
Flocky
Пользователь
 
Регистрация: 11.01.2013
Сообщений: 17
По умолчанию Описать файл записей

1. Описать файл записей с именем bill.dat, содержащий следующие поля: расчетный счет плательщика, расчетный счет получателя; перечисляемая сумма в рублях.
2. Написать программу, выполняющую следующие действия:
1) ввод данных с клавиатуры в массив, состоящий из восьми элементов типа Bill, с упорядочением записей в алфавитном порядке по расчетным счетам плательщиков;
2) вывод на экран информации о сумме, снятой с расчетного счета плательщика, введенного с клавиатуры, а если такого расчетного счета нет - вывод на экран соответствующего сообщения;
Flocky вне форума Ответить с цитированием
Старый 11.12.2015, 12:08   #2
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Код:
uses crt;
type bill = record
     id_donor,id_recep:integer;
     amount:real;
end;
const n = 8;
var f: file of bill;
    a: array [1..n] of bill;
procedure inputdata;
 var i:integer;
     r:bill;
 begin
   assign(f,'bill.dat');
   rewrite(f);
   for i:=1 to n do
   begin
     with r do
      begin
        write('ID platelshchika ',i,': ');readln(id_donor);
        write('ID poluchatelia ',i,': ');readln(id_recep);
        write('Suma: ');readln(amount);
      end;
     write(f,r);
   end;
   close(f);
 end;
procedure readdatafromfile;
 var i:byte;
 begin
   assign(f,'bill.dat');
   reset(f);
   i := 1;
   while not(eof(f)) do
    begin
     read(f,a[i]);
     inc(i);
    end;
    close(f);
 end;
procedure outarraydata;
 var i:byte;
 begin
   for i:=1 to n do
    begin
      with a[i] do
       begin
         writeln('ID ',i,' platelshchika: ',id_donor);
         writeln('ID ',i,' poluchatelia: ',id_recep);
         writeln('Suma w RUB: ',amount:3:2);
         writeln;
       end;
    end;
 end;
procedure sortarray;
 var i,j:byte;
       r:bill;
 begin
   for i:=1 to n-1 do
    for j:=i to n do
     if a[i].id_donor<a[j].id_donor then
      begin
        r:=a[i];
        a[i]:=a[j];
        a[j]:=r
      end;
 end;
procedure t2;
 var i:byte;
     s:real;
     id:integer;
     f:boolean;
 begin
  f:=false;
  write('Vvedite ID platelshchika :');readln(id);
  for i:=1 to n do
   with a[i] do
   if id_donor = id then
    begin
      writeln('Vvedite sumu dla sniatia, ');
      writeln('na schetu ',amount,' RUB');
      write('suma : ');readln(s);
      amount := amount-s;
      writeln('ostatok na schetu: ',amount:3:2);
      f:=true;
    end;
  if not(f) then writeln('Platelshchika s ID:',id,' ne najdeno');
 end;
BEGIN
Clrscr;
inputdata;
readdatafromfile;
writeln;
outarraydata;
writeln;
sortarray;
writeln;
writeln('Masiv posle sortirovki');
outarraydata;
writeln;
t2;
writeln;
outarraydata;
readln;
END.
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 11.12.2015, 13:55   #3
Flocky
Пользователь
 
Регистрация: 11.01.2013
Сообщений: 17
По умолчанию

Спасибо! Все работает!
Flocky вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задачка в Паскаль на типизированный файл (файл записей) Юлия14563 Паскаль, Turbo Pascal, PascalABC.NET 1 20.05.2014 15:53
C++, задача на бинарный файл (Бинарный файл состоит из записей по 5 бит) zaitsevmishka Помощь студентам 3 16.05.2014 21:39
Сформировать файл записей Дэнчик Паскаль, Turbo Pascal, PascalABC.NET 0 17.05.2012 23:42
Сформировать файл записей Дэнчик Помощь студентам 0 17.05.2012 23:42
Как описать файл Salad0rec Помощь студентам 2 20.04.2012 12:25