Помощь - Поиск - Пользователи - Календарь
Полная версия: Ввод данных
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Bokul
Процедура должна брать 3 вещесвеных чесла, а потом передавать их программе.
Проверте пожалуйста код. Кажется она неправильно работает
Код

procedure data(var a,b,c:real);
var i: byte; ch:char; a1,b1,c1:string; code:integer;
begin
writeln(' Enter  coefficients of equation ');
i:=0;
repeat
read(ch);
if (ch=#13) then
begin
  inc(i);
   if i=1 then
    val(a1,a,code);
  if i=2 then
    val(b1,b,code);
  if i=3 then
    val(c1,c,code);
  end
else
begin
  if i=0 then
    a1:=a1+ch;
  if i=1 then
     b1:=b1+ch;
  if i=2 then
     c1:=c1+ch;
end;
until i=3;
end;
volvo
Bokul, работает действительно неправильно... Вот так - вроде нормально...
uses crt;

procedure data(var a,b,c:real);
var i: byte; ch:char; a1,b1,c1:string; code:integer;
begin
writeln(' Enter  coefficients of equation ');
i:=0;
repeat
  ch := readkey;
  write(ch);
  if (ch=#13) then begin
    inc(i); writeln;
    if i=1 then val(a1,a,code);
    if i=2 then val(b1,b,code);
    if i=3 then val(c1,c,code);
  end
  else begin
    if i=0 then a1:=a1+ch;
    if i=1 then b1:=b1+ch;
    if i=2 then c1:=c1+ch;
  end;
until i=3;
end;

Но объясни мне, почему бы не читать числа напрямую через ReadLn? Зачем через строку? blink.gif
Bokul
Ты действительно прав - через ReadLn действительно проще.
Чтото я перемудрил, но всеравно пасибо за ответ
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.