Помощь - Поиск - Пользователи - Календарь
Полная версия: Литерный ввод
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
JOKER
Задали нам такую задачку "Используя только литерный ввод, ввести вещественное число, записаное в виде: d.ddE-d,
и присвоить его вещественной переменной У"
ответ нужен до завтра мне в обед уходить ответьти плиз желательно исходником и пояснениями я в долгу не останусь пиво обещаю поставить первому давшему конструктивный ответ но не пойже чем завтра до абеда (к сведению время +5 от гринвича)
virt
Код
var ch : char;
   r : real;
   i : integer;
......................
read(ch);
  r := ord(ch) - ord('0');
read(ch);
read(ch);
  r := r * 10 + ord(ch) - ord('0');
read(ch);
  r := r * 10 + ord(ch) - ord('0');
  r := r / 100;
read(ch);
read(ch);
readln(ch);
  i := ord(ch) - ord('0');
  while i > 0 do
     begin
        r := r / 10;
        i := i - 1;
     end;
writeln(r:0:11);
kent
Другой вариант:

uses Crt;
var lit : Char;
    y : Real;
    S : String;
    code,count : Integer;
    point : Integer;
begin
     Clrscr;
     S := '';
     count := 0;
     point := 0;
     repeat
       Write('Введите символ:');
       ReadLn(lit);
       if not (lit in ['0'..'9','.','-','+','E']) then begin
         WriteLn('Error');
         Halt;
       end;
       if (lit = '.') then
         inc(point);
       S := S + lit;
       if (point = 1) then
       if (lit = '-') or (lit = '+') then
         inc(count)
       else if (count > 0) then
         inc(count);
     until count = 5;
     Val(S,y,code);
     WriteLn('Полученное число: ',y);
     ReadKey;
end.

Joker
большое спасибо как теперь с вами связаться надо же всё таки пиво поставить за помощь putnik-13#@narod.ru(please remove # and sand me письма) :thanks: :flowers: :yes: :low: ;)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.