Исправить программу, чтобы ввод данных ввести одной строкой, а не столбиком - Pascal ABC

Формулировка задачи:

нужно исправить программу, чтобы ввод данных ввести одной строкой, а не столбиком.
unit procedury;
 
interface
 
uses
  crt, types;
 
procedure vvod(var A: E);
procedure vyvod(A: E);
procedure redaktor(var A: E);
procedure sort(A: E);
procedure vyborka(A: E);
function suma(A: E): integer;
implementation
 
procedure vvod(var A: E);
var
  i: byte; inv: string[6]; nam: string[25]; k, gv, kol: integer;
  b, c: set of char;
begin
  b := ['a'..'z']; c := ['0'..'9'];
  for i := 1 to m do
  begin
    writeln('Введите инвентарный номер ', i, ' записи:');
    k := 1; inv := '______'; A[i].inv := '______';
    repeat
      readln(inv[k]);
      if (k = 1) or (k = 2) then begin
        if (inv[k] in (b)) = false then begin
          system.Console.Beep(500, 1000); k := k - 1; end; end;
      if (3 >= k) and (k <= 5) then begin
        if (inv[k] in (c)) = false then begin
          system.Console.Beep(500, 1000); k := k - 1; end; end;
      if k = 6 then begin
        if (inv[k] in (b)) = false then begin
          system.Console.Beep(500, 1000); k := k - 1; end; end;
      k := k + 1;
    until(k > 6);
    
    writeln('Введите наименование оборудование ', i, ' записи:');
    readln(nam);
    A[i].nam := nam;
    writeln('Введите год выпуска ', i, ' записи:');
    readln(gv);
    A[i].gv := gv;
    writeln('Введите количество оборудования ', i, ' записи:');
    readln(kol);
    A[i].kol := kol;
    writeln('Наличие гарантии (3 года) ', i, ' Да(1)/Нет(2) :');
    if readkey = '1' then A[i].bg := True else A[i].bg := False;
    writeln('Кап. ремонт в текущем году? ', i, ' Да(1)/Нет(2) :');
    if readkey = '1' then A[i].kr := True else A[i].kr := False;
    for k := 1 to 6 do A[i].inv[k] := inv[k];
  end;
  writeln;
end;
программа где нужно изменить начинается с writeln(введите инвентарный номер 1 записи), а заканчивается унтил

Код к задаче: «Исправить программу, чтобы ввод данных ввести одной строкой, а не столбиком - Pascal ABC»

textual
unit procedury;
 
interface
 
uses
  crt, types;
 
procedure vvod(var A: E);
procedure vyvod(A: E);
procedure redaktor(var A: E);
procedure sort(A: E);
procedure vyborka(A: E);
function suma(A: E): integer;
implementation
 
procedure vvod(var A: E);
var
  i: byte; inv: string[6]; nam: string[25]; k, gv, kol: integer;
  b, c: set of char;
begin
  b := ['a'..'z']; c := ['0'..'9'];
  for i := 1 to m do
  begin
    writeln('Введите инвентарный номер ', i, ' записи:');
    k := 1; inv := '______'; A[i].inv := '______';
    repeat
      read(inv[k]);
      if (k = 1) or (k = 2) then begin
        if (inv[k] in (b)) = false then begin
          system.Console.Beep(500, 1000); k := k - 1; end; end;
      if (3 >= k) and (k <= 5) then begin
        if (inv[k] in (c)) = false then begin
          system.Console.Beep(500, 1000); k := k - 1; end; end;
      if k = 6 then begin
        if (inv[k] in (b)) = false then begin
          system.Console.Beep(500, 1000); k := k - 1; end; end;
      k := k + 1;
    until(k > 6);
    
    writeln('Введите наименование оборудование ', i, ' записи:');
    read(nam);
    A[i].nam := nam;
    writeln('Введите год выпуска ', i, ' записи:');
    read(gv);
    A[i].gv := gv;
    writeln('Введите количество оборудования ', i, ' записи:');
    read(kol);
    A[i].kol := kol;
    writeln('Наличие гарантии (3 года) ', i, ' Да(1)/Нет(2) :');
    if readkey = '1' then A[i].bg := True else A[i].bg := False;
    writeln('Кап. ремонт в текущем году? ', i, ' Да(1)/Нет(2) :');
    if readkey = '1' then A[i].kr := True else A[i].kr := False;
    for k := 1 to 6 do A[i].inv[k] := inv[k];
  end;
  writeln;
end;
Эта работа вам не подошла?

Вы всегда можете заказать любую учебную работу у наших авторов от 20 руб.

6   голосов, оценка 4.333 из 5


СДЕЛАЙТЕ РЕПОСТ
Похожие ответы