|
Ze7ra 0 / 0 / 0 Регистрация: 24.10.2015 Сообщений: 6 |
||||
|
1 |
||||
Входная строка имела неверный формат27.04.2016, 22:43. Показов 37638. Ответов 7 Метки нет (Все метки)
Здравствуйте. Небольшая загвоздочка вышла, не понятная мне. Не мог бы кто-нибудь подсказать в чем дело, пожалуйста?
__________________
0 |
|
93 / 11 / 23 Регистрация: 11.04.2016 Сообщений: 34 |
|
|
28.04.2016, 07:23 |
2 |
|
Файл покажите, на котором проверяли свой код. Есть у меня догадка, что дело именно в нём: скорее всего число типа real в нём записано не совсем верно.
0 |
|
Ze7ra 0 / 0 / 0 Регистрация: 24.10.2015 Сообщений: 6 |
||||
|
28.04.2016, 12:55 [ТС] |
3 |
|||
|
WindAndRain, да, дело, видимо в нем. Но что-то до меня не доходит как тогда исправить сам код или тип переменной, чтобы такой ошибки не выходило. Вот код самого файла:
Если что, прикреплю еще задание, которое нужно сделать. Помогать с ним не прошу, но очень хочется понять, что делать с этой ошибкой, спасибо: «В текстовом файле записана непустая последовательность действительных чисел, разделенных пробелами (пробелов может быть больше одного). Написать функцию для нахождения наибольшего из этих чисел.»
0 |
|
318 / 208 / 162 Регистрация: 08.12.2015 Сообщений: 863 |
|
|
28.04.2016, 13:02 |
4 |
|
Вас же попросили,
Файл покажите, , и тогда дойдет хотя бы до нас, что вам ответить на вопрос «как исправить».
0 |
|
0 / 0 / 0 Регистрация: 24.10.2015 Сообщений: 6 |
|
|
28.04.2016, 13:08 [ТС] |
5 |
|
Я думала весь смысл был именно в коде, которым я заполняла файл, но ладно.
0 |
|
0 / 0 / 0 Регистрация: 24.10.2015 Сообщений: 6 |
|
|
28.04.2016, 13:17 [ТС] |
6 |
|
Вот файл
0 |
|
318 / 208 / 162 Регистрация: 08.12.2015 Сообщений: 863 |
|
|
28.04.2016, 14:03 |
7 |
|
убрать пробел в конце строки. Нужно подправить чтение, чтобы не зависело от пробелов.
0 |
|
Puporev Почетный модератор 64270 / 47569 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
|
28.04.2016, 15:29 |
8 |
|||
|
РешениеЧитать текстовый файл с числами и пробелами
1 |
Входная строка имела неверный формат паскаль
В программе работает все, кроме удаления записи из файла
Собственно сама ошибка:
строка (254) : Ошибка времени выполнения: Входная строка имела неверный формат.
В строке 254 находится (readln(menu);)
- Вопрос задан более трёх лет назад
- 2185 просмотров
если ты такой умный — покажи какую фразу вбить в гугля.
«pascal Ошибка времени выполнения: Входная строка имела неверный формат»
первые же три ссылки ведут на обсуждения различных вариантов возникновения данной проблемы.
пишу простую программку в паскале, до боли простую, нужно ввести скажем переменную а, объявляю ее типа как real.
var а : real;
когда скомпилировал свой код начинаю вводить данные (например значение для этой переменной 0,4) выдает ошибку: «входная строка имела неверный формат» если ввести целочисленные значения — все в норме, в чем проблема? разве тип real не включает в себя десятичные дроби ?
код программы (очень корявый, но писался чисто с целью применения на скорую руку)
program Rashet_VAH_dioda;
uses crt;
Var
a, Iz, Rst, Rd, m : real;
Io, U, Uc, Ic : integer;
const
e = 2.71;
Ft = 0.02566;
label 1;
begin
clrscr;
writeln (‘ Автор студент гр. 130611 Столяров А. Е. ‘);
1: writeln (‘введите прямой максимальный ток диода в амперах Io = ‘);
readln (Io);
writeln (‘ введите напряжение диода при температуре в вольтах 25С, Uc =’);
readln (Uc);
writeln (‘ введите ток диода при температуре в амперах 25С, Ic =’);
readln (Ic);
writeln (‘ введите напряжение расчетной точки в вольтах, U =’);
readln (U);
m := (Uc / Ln ( ((-1)*Io — Ic)/ (-1)*Io)) / Ft;
writeln (‘расчет m, m=’, m);
Iz := Io*(Exp((U/(m*Ft))*Ln(e)) — 1);
Writeln (‘значение тока Iz при заданном значении напряжения ‘,Iz);
Rst := Iz / U;
writeln (‘ Статическое сопротивление Rст = ‘, Rst);
Rd := (m*Ft)/(Io — Iz);
writeln (‘дифференциальное сопротивление Rдиф =’, Rd);
if Iz > Io then
begin
Writeln (‘максимальный ток превышен, диод красиво сгорел’);
goto 1 ;
end;
Writeln (‘для сброса и повторения нажмите 1’);
readln (a);
if a = 1 then goto 1;
End.
Программа читает файл и печатает содержимое на экран.
Но при попытке запустить PascalABC.NET говорит:
В чем может быть ошибка? Содержимое входного файла:
2 ответа 2
Рискну предположить, что readln гордо считал «mynamw 334» в s , и дальше не смог найти ничего похожего на i . Откуда ему знать, где заканчивается ваша строка и есть ли в ней пробелы? Попробуйте заменить это на просто readln(f, s); i := 100; и посмотреть, что будет.
Итак, проблему нашли. А можно переставить местами данные:
Если да, то всё получится с readln(f, i, s); .
Поскольку мы решили не менять формат, задача становится сложнее 🙂 Я бы считал всю строку в строковую переменную ( readln(f, line); ), а дальше нашёл бы в ней последний пробел (поиском с конца) и разделил по нему на s (подстрока от начала до позиции найденного пробела) и i (остаток строки, перевести в число с помощью StrToInt ). Понятно, как?
Наши новости: |
|
|
Помощь в паскале, сортировка массива пузырьком
|
|
looks12 |
Сообщение
|
|
|
Выдаёт ошибку: program massbouble; Отредактировал: looks12, — 21.6.2014, 19:32 |
|
|
|
|
Revelation |
Сообщение
|
|
Стаж: 10 лет Сообщений: 1051 |
Содержимое input.txt ? |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
Цитата(Revelation @ 21.6.2014, 20:33) Содержимое input.txt ? 20 19 18 1 5 2 4 3 6 8 7 9 17 15 16 10 12 11 13 14 Теперь |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
А где крутые хацкеры или дудосеры? Отредактировал: looks12, — 21.6.2014, 20:08 |
|
|
|
|
Predat0r |
Сообщение
|
|
Стаж: 11 лет Сообщений: 1245 |
На cyberforum’e |
|
|
|
|
Esecman |
Сообщение
|
|
Стаж: 9 лет 1 месяц Сообщений: 945 |
Цитата(Predat0r @ 21.6.2014, 21:09) На cyberforum’e Оффтоп: |
|
|
|
|
Predat0r |
Сообщение
|
|
Стаж: 11 лет Сообщений: 1245 |
Цитата(Esecman @ 21.6.2014, 21:19) Хах. Так ты же вроде хвастался, что Pascal учит логике и все такое. Как я мог такое сказать, если паскаль говн%? Отредактировал: Predat0r, — 21.6.2014, 21:12 |
|
|
|
|
nsgenn |
Сообщение
|
|
Стаж: 9 лет 9 месяцев Сообщений: 885 |
как бэ символы, которые читаются имеют формат CHAR, а не Integer (20) = 2символа + пробел =3 короче ошибок уйма Отредактировал: nsgenn, — 22.6.2014, 5:28 |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
Цитата(nsgenn @ 22.6.2014, 6:17) как бэ символы, которые читаются имеют формат CHAR, а не Integer (20) = 2символа + пробел =3 короче ошибок уйма Спасибо, но уже нашёл и исправил ошибки. Отредактировал: looks12, — 22.6.2014, 8:11 |
|
|
|
|
nsgenn |
Сообщение
|
|
Стаж: 9 лет 9 месяцев Сообщений: 885 |
Цитата(looks12 @ 22.6.2014, 10:10) Да паскаль не радость на задача была поставлена и её надо было решить. Вы еще с асмом не знакомились. Попривыкали к халявному алфавиту )) Отредактировал: nsgenn, — 22.6.2014, 8:45 |
|
|
|
|
looks12 |
Сообщение
|
|
Стаж: 10 лет Сообщений: 305
|
Цитата(nsgenn @ 22.6.2014, 9:44) Вы еще с асмом не знакомились. Попривыкали к халявному алфавиту )) В KOI-то века знакомился с данным господином. |
|
|
|
0 пользователей и 3 гостей читают эту тему:
-
-
Предмет:
Информатика
-
Автор:
jadynruiz464
-
Создано:
3 года назад
Ответы
Знаешь ответ? Добавь его сюда!
-
-
Другие предметы5 минут назад
Как называется канал мужика, который играл на chees.com?
-
История30 минут назад
Помогите пожалуйста с историей
-
Английский язык30 минут назад
Очень срочно дам 25 сегодня здавать!!!
WB p8 ex 1-2 -
Алгебра35 минут назад
Допоможіть будь ласка!!!!
-
Алгебра35 минут назад
СРОЧНООООО!!!! Подайте вираз у вигляді чотирьох множників: х³-25x³+x²-25.
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Вы не можете общаться в чате, вы забанены.
Чтобы общаться в чате подтвердите вашу почту
Отправить письмо повторно
Вопросы без ответа
-
Физика4 часа назад
Помогите с физикой -https://n.fcd.su/Luv
-
Химия5 часов назад
Рсаположить металлы, которые могут быть использованы в качестве анодного покрытия на стальном изделии, в порядке усиления защитных свойств:1) Zn 2) Cr 3) Ni 4) Ag 5) Mn
1) 12345
2) 5123
3) 215
4) 512
Топ пользователей
-

Fedoseewa27
22808
-

Sofka
7419
-

zlatikaziatik
5659
-

vov4ik329
5111
-

DobriyChelovek
4625
-

olpopovich
3461
-
TheDenty
3258
-

dobriykaban
2540
-
Udachnick
1867
-

ViktoriaBell0
1740
Войти через Google
или
Запомнить меня
Забыли пароль?
У меня нет аккаунта, я хочу Зарегистрироваться
Выберите язык и регион
Русский
Россия
English
United States
How much to ban the user?
1 hour
1 day

Сообщение было отмечено Ze7ra как решение







Меценат
Поблагодарили 
