|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
08.02.2009, 21:14 | #1 |
Кибернетик
Форумчанин
Регистрация: 22.10.2008
Сообщений: 142
|
строковое выражение числа должно быть переведено в вещественный тип
Кто знает помогите
Вот задание: Составить процедуру по корректному посимвольному вводу вещественных чисел (общая длина числа ограничена некоторым значением Lmax). Введенное строковое выражение числа должно быть переведено в вещественный тип. Допускается использовать следующие клавиши: цифры, точка, знак минус, Esc (отказ от ввода), Enter (ввод числа – перевод его в вещественный тип), BackSpace (или ← - “забой” предыдущей цифры) Вот я написал процедуру ввода строки... Код:
ПРобывал через десятки...идея показалась слишком обширной... кто подскажет?
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <== |
08.02.2009, 21:47 | #2 |
Форумчанин
Регистрация: 16.11.2008
Сообщений: 192
|
Через процедуру val
|
08.02.2009, 21:51 | #3 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Находим в строке "." (или какой там разделитель дроби), всё, что слева - целая часть, её получаем через Val. Правая часть - дробная. Её получить можно так: посимвольно просматриваем строку с конца, аккумулятор делим на 10, прибавляем к нему цифру, делённую на 10. Затем дробную часть прибавляем к целой. Готово.
E-Mail: arigato.freelance@gmail.com
|
08.02.2009, 21:58 | #4 |
Кибернетик
Форумчанин
Регистрация: 22.10.2008
Сообщений: 142
|
Через вал не получаеться найти целую часть...он выдает 0!
или может тип не тот у этой переменной что выдает число...какой должен быть? КАК МНЕ ПРЕОБРАТОВАТЬ СИМВОЛ В ЧИСЛО? как использовать ord и str
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <== Последний раз редактировалось Wi1D; 08.02.2009 в 22:31. |
08.02.2009, 22:47 | #5 |
Форумчанин
Регистрация: 16.11.2008
Сообщений: 192
|
А как ты написал через вал?
|
08.02.2009, 23:15 | #6 |
Кибернетик
Форумчанин
Регистрация: 22.10.2008
Сообщений: 142
|
Код:
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <== |
09.02.2009, 09:08 | #7 | ||
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
Цитата:
Цитата:
Код:
k:=length(s)-pos(',',s); Тогда вывод числа write('v=',v:0:k); Последний раз редактировалось puporev; 09.02.2009 в 09:37. |
||
09.02.2009, 16:49 | #8 |
Кибернетик
Форумчанин
Регистрация: 22.10.2008
Сообщений: 142
|
puporev спасибо!
Все работает!Вот листинг: Код:
не существует идеальных программ...и людей тоже..
<== P.S. если я тебе помог нажми весы слева <== |
09.02.2009, 18:16 | #9 | |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
puporev, согласен, ступил. Я Turbo Pascal много лет уже не использую, глянул в хелп невнимательно, и ...
Цитата:
E-Mail: arigato.freelance@gmail.com
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Строковое выражение | SeregaIRK | Общие вопросы C/C++ | 1 | 07.10.2008 19:20 |
значение получившегося выражения должно быть равно заданному целому S | Elm0 | Паскаль, Turbo Pascal, PascalABC.NET | 6 | 18.01.2008 00:13 |
Процесс - на вкладке процессы, напротив процесса программы должно быть написано SYSTEM | Terran | Общие вопросы Delphi | 3 | 10.01.2008 21:03 |
TStringGrid - изначально мы видим одну ячейку в конце должно быть столько сколько заполнили. | Ensoph | Компоненты Delphi | 5 | 18.10.2007 22:24 |
Неправильно отображается вещественный тип | frantic | БД в Delphi | 4 | 23.02.2007 14:24 |