Помощь - Поиск - Пользователи - Календарь
Полная версия: Литерный ввод
Форум «Всё о Паскале» > 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: ;)
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.