Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.01.2010, 18:27   #1
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
Сообщение Ошибка ввода записи. Паскаль

Код:
program zad1;
type zap=record
     vert:'A'..'H';
     goriz:1..8;
     end;
var coord1:zap;
         coord2:zap;
при вводе символа A (английский, заглавный, символ что указан в диапазоне)
Код:
readln(coord1.vert);
выводит ошибку ввода, ни номер ошибки, ничего он не указывает, только пишет что "ошибка ввода"
При этом если указать что vert:char;
то все нормально, но мне нужен именно этот диапазон, т.к. задача про шахматы.
Не хочется ставить ни каких условие при вводе и т.п. просто интересно, почему не работает ввод именно таким образом? Что не так?
Базиля вне форума Ответить с цитированием
Старый 10.01.2010, 19:24   #2
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

В Делфи всё нормально, а Паскаль не установлен.
В любом случае корректность, как мне кажется, надо проверять вручную. Делайте так:
Код:
var A: Char;
...
ReadLn (A);
if (A < 'A') or (A > 'H') then // ошибка ввода
else coord1.vert := A;
Arigato вне форума Ответить с цитированием
Старый 10.01.2010, 19:33   #3
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

придется таким способом, но мне все-таки интересно почему не хочет работать когда сразу объявляешь диапазон
Базиля вне форума Ответить с цитированием
Старый 10.01.2010, 20:39   #4
Deamonig
Форумчанин
 
Аватар для Deamonig
 
Регистрация: 19.09.2009
Сообщений: 166
По умолчанию

ну если в паскале, то так должно работать:
Код:
var coord1:'A'..'H';
         coord2:1..8;
Deamonig вне форума Ответить с цитированием
Старый 10.01.2010, 20:55   #5
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Deamonig
мне нужно через запись обязательно
Базиля вне форума Ответить с цитированием
Старый 10.01.2010, 20:57   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Можно определить тип данных:
Код:
type
Tvert = 'A'..'H';
Tgoriz = 1..8;
zap=record
     vert:Tvert;
     goriz:Tgoriz;
     end;
Arigato вне форума Ответить с цитированием
Старый 10.01.2010, 21:03   #7
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Arigato
все равно не хочет Ошибка
Мне все таки очень инетересно почему, препод просто сказал то что все должно работать.
Есть еще идеи?
Базиля вне форума Ответить с цитированием
Старый 10.01.2010, 21:04   #8
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Цитата:
Сообщение от Базиля
Есть еще идеи?
У меня нет, в Делфи всё работает. Какая версия Паскаля?
Arigato вне форума Ответить с цитированием
Старый 10.01.2010, 21:06   #9
Базиля
Участник клуба
 
Аватар для Базиля
 
Регистрация: 03.12.2009
Сообщений: 1,013
По умолчанию

Pascal ABC 3.0.1
Базиля вне форума Ответить с цитированием
Старый 10.01.2010, 21:17   #10
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 15,551
По умолчанию

Поставьте Турбо Паскаль 7.0 или Фри Паскаль, в нём должно работать.
Arigato вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка записи в файл nisoldatov Софт 2 31.03.2009 02:24
Паскаль,программа ввода слов. Flexo Помощь студентам 3 20.12.2008 18:51
Ошибка отложеной записи Rio309 Компьютерное железо 4 02.11.2008 18:24