|
TheMaker 0 / 0 / 0 Регистрация: 11.05.2020 Сообщений: 4 |
||||
|
1 |
||||
Ошибка времени выполнения: Входная строка имела неверный формат11.05.2020, 20:24. Показов 2985. Ответов 7 Метки pascal abc (Все метки)
Добрый вечер. Писал сегодня программу по условию задачи: «Вывести на печать фамилии тех учеников, у которых есть хотя бы одна тройка, т. е. не являющихся ни отличниками, ни хорошистами.» Вот что получилось:
При этом программа выдает: «1.pas(19) : Ошибка времени выполнения: Входная строка имела неверный формат.»
__________________
0 |
|
Почетный модератор 64270 / 47569 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
|
|
11.05.2020, 20:39 |
2 |
|
Файл с таблицей прилагаю Спасибо и на этом.
0 |
|
Супер-модератор 6108 / 2847 / 1299 Регистрация: 04.03.2013 Сообщений: 5,738 Записей в блоге: 1 |
|
|
11.05.2020, 20:39 |
3 |
|
TheMaker, в файле C:10_М.txt обеспечьте, чтобы было 18 символов под фамилию + 19ый символ пробел: Код Иванов 3 4 5 Петров 3 3 3 Сидоров 3 4 5 Добавлено через 34 секунды Код Иванов 3 4 5 Петров 3 3 3 Сидоров 3 4 5
0 |
|
0 / 0 / 0 Регистрация: 11.05.2020 Сообщений: 4 |
|
|
11.05.2020, 21:18 [ТС] |
4 |
|
ildwine, так там предусмотрен абзац. Иванов Или есть смысл писать все 1 строкой?
0 |
|
ildwine Супер-модератор 6108 / 2847 / 1299 Регистрация: 04.03.2013 Сообщений: 5,738 Записей в блоге: 1 |
||||
|
11.05.2020, 21:26 |
5 |
|||
Эта строка предусматривает, что данные находятся в одной строке через пробел.
0 |
|
0 / 0 / 0 Регистрация: 11.05.2020 Сообщений: 4 |
|
|
12.05.2020, 10:51 [ТС] |
6 |
|
ildwine, сделал так, как вы сказали, однако проблема не исчезла. Я пробовал и расстояние между цифрами уменьшить до 1 пробела — все одно и тоже.
0 |
|
ildwine Супер-модератор 6108 / 2847 / 1299 Регистрация: 04.03.2013 Сообщений: 5,738 Записей в блоге: 1 |
||||||||
|
12.05.2020, 13:03 |
7 |
|||||||
|
Решение У меня заработало, после того как я сформировал правильный файл.
10_М.txt
1 |
|
0 / 0 / 0 Регистрация: 11.05.2020 Сообщений: 4 |
|
|
14.05.2020, 17:09 [ТС] |
8 |
|
ildwine, спасибо за уделенное время.
0 |
Входная строка имела неверный формат паскаль
В программе работает все, кроме удаления записи из файла
Собственно сама ошибка:
строка (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 ). Понятно, как?
-
-
Предмет:
Информатика
-
Автор:
jadynruiz464
-
Создано:
3 года назад
Ответы
Знаешь ответ? Добавь его сюда!
-
-
Алгебра2 минуты назад
Помогите пожалуйста срочно! Спасайте!
-
Алгебра7 минут назад
Срочно спасайте пожалуйста!
-
Геометрия7 минут назад
Обчислити площу трикутника за рисунком. срочно, с решением
-
Алгебра7 минут назад
СРОЧНООООО!!!! Подайте вираз у вигляді чотирьох множників: х⁵-25x³+x²-25.
-
Геометрия7 минут назад
Обчислити площу трикутника за рисунком. срочно с решением
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Вы не можете общаться в чате, вы забанены.
Чтобы общаться в чате подтвердите вашу почту
Отправить письмо повторно
Вопросы без ответа
-
Физика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
Наши новости: |
|
|
Помощь в паскале, сортировка массива пузырьком
|
|
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 пользователей и 5 гостей читают эту тему:

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







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