Форум программистов, компьютерный форум, киберфорум
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 39

Проверка record

05.02.2011, 12:19. Показов 1118. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как осуществить проверку на вхождение нужных мне символов в водимой строке которая записываться в b[3] ??
ниже приведён пример моего решения только компилятор выдаёт ошибку в данной строчке:
if not((b[3]='.')and(b[6]='.'))then t:=false;{тут выдаёт ошибку неприводимых типов}


Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
procedure pro(Var st,st1:string);  {проверка ввода}
type d=record
data:string[10];
vrem:string[8];
end;
const c=2;     {количество записей в массиве}
var g:set of char;
a:string;t:boolean;i,j:byte;
b:array[1..c] of d;
begin
g:=['0'..'9','.'];
for i:=1 to c do
for j:=1 to 2 do
repeat
if j=1 then
writeln('ВВедите свою дату рождения: дд.мм.гггг')
else
writeln('ВВедите время своего рождения: чч.мм.сс');
     readln(a);
     t:=true;                        {элемент проверки ввода}
     if not((b[3]='.')and(b[6]='.'))then t:=false;{тут выдаёт ошибку неприводимых типов}
     for i:=1 to 10 do
     if not(b[i] in g)              then t:=false;
     if t=false then writeln('Неверно, повторите ввод');
until t;
writeln('Число введено верно');
writeln('______________________________________________________________');
{передача числа A в a[i].data и a[i].vrem в завсимости от j}
if j=1 then b[i].data:=a else  b[i].vrem:=a;
end;
end;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
05.02.2011, 12:19
Ответы с готовыми решениями:

Record
Помогите плизз, реализовать программу, которая: "Спрашивает у пользователя одно комплексное число в алгебраической форме. На выбор...

Record (записи)
Нужно написать программу, организующую хранение в файле нескольких записей не менее 3. Организовать вывод информации по вводимому с...

type record
Напишите программу, содержащую информацию об экспортируемых товарах: указываются наименование товара, страна, импортирующая товар, и объем...

10
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 12:23
Pascal
1
if (b[3]<>'.')or(b[6]<>'.') then t:=false;
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 39
05.02.2011, 12:28  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
if (b[3]<>'.')or(b[6]<>'.') then t:=false;
суть в том ,что мне даны дата и время в таком формате дд.мм.гггг и чч.мм.сс
мне нужно что бы 3 и 6 элемент равнялся '.' ,а остальные в своё время входили в диапазон '0'..'9'
и компилятор меня ругает не из-за действия...а вот по какой причине "операнды имеют неприводимые типы"
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 12:34
Pascal
1
2
if((i in [3,6])and(s[i]<>'.'))or((i in [1,2,4,5,7,8])and not(s[i] in ['0'..'9']))
 then t:=false;
1
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 39
05.02.2011, 12:44  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Pascal
1
2
if((i in [3,6])and(s[i]<>'.'))or((i in [1,2,4,5,7,8])and not(s[i] in ['0'..'9']))
 then t:=false;
за такой if спасибо больше, но сама ошибка компилятора не ушла
s[i]<>'.' -про это компилятор говорит: операнды имеют неприводимые типы
вот меня интересует как это исправить)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 13:00
Так объяви
var b:string[8];
и не выеживайся...

Добавлено через 2 минуты
Иначе нужно
Pascal
1
2
3
for i:=1 to 8 do
if((i in [3,6])and(s[i]<>'.'))or((i in [1,2,4,5,7,8])and not(s[i] in ['0'..'9']))
 then t:=false;
Добавлено через 3 минуты
Ты вообще что творишь? У тебя b это массив записей, а ты в нем точку ищешь....

Добавлено через 1 минуту
Извини, но вообще чушь сплошная написана, это нужно просто всю программу переделывать...
1
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 39
05.02.2011, 13:05  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Так объяви
var b:string[8];
и не выеживайся...

Добавлено через 2 минуты
Иначе нужно
Pascal
1
2
3
for i:=1 to 8 do
if((i in [3,6])and(s[i]<>'.'))or((i in [1,2,4,5,7,8])and not(s[i] in ['0'..'9']))
 then t:=false;
Добавлено через 3 минуты
Ты вообще что творишь? У тебя b это массив записей, а ты в нем точку ищешь....

Добавлено через 1 минуту
Извини, но вообще чушь сплошная написана, это нужно просто всю программу переделывать...
просто до этого делал для строк п/п думал изменю и готово,а толком как проверку осуществить для record не знаю(
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 13:13
Цитата Сообщение от warexs Посмотреть сообщение
а толком как проверку осуществить для record
Да не рекорд нужно проверять, а поле записи
Pascal
1
readln(b[i].vrem);
а уж в ней проверять цифры и точки, как я писал.
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 39
05.02.2011, 13:21  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Да не рекорд нужно проверять, а поле записи
Pascal
1
readln(b[i].vrem);
а уж в ней проверять цифры и точки, как я писал.
b[i].data in ['0'..'9'] здесь жалуется. попытка применить string[10] к set of
так же ругается если= b[i].data in [1,2,3,4,5,6,7,8,9,0] или b[i].data in (1,2,3,4,5,6,7,8,9,0)
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
05.02.2011, 13:24
Не b[i].data in ['0'..'9'] нужно,
а b[i].data[j] in ['0'..'9'] - нужно символы в поле проверять, а не все поле...
0
1 / 1 / 0
Регистрация: 05.11.2010
Сообщений: 39
05.02.2011, 13:26  [ТС]
Цитата Сообщение от Puporev Посмотреть сообщение
Не b[i].data in ['0'..'9'] нужно,
а b[i].data[j] in ['0'..'9'] - нужно символы в поле проверять, а не все поле...
ах да .data строка и обращение к определённым символам через [j]
туплю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.02.2011, 13:26
Помогаю со студенческими работами здесь

Record и Строки
Здравствуйте. я вроде как разобрался с задачей: ''На олимпиаде по информатике на школьников заполнялись анкеты: фамилия, номер школы,...

сравнение в типе record
добрый вечер пишу программу и сталкнулся с неизвестной мне ошибкой. скажите почему она могла произойти. procedure...

сделать с помошью Record
Задание было таково: Ввести информацию о ценах на жесткие диски в массив записей и вывести ее в виде таблицы. При выполнении он...

Тип данных Record
Навести описание типа данних &quot;запись&quot;(record) с именем Point, который описывает координаты точки X и Y типа real, использовать...

Переделка задачи на Record
Вот задача на record тема задачи организация ремонта мониторов. Помогите переделать задачу пожалуйста. Условие переделки: Какой мастер...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru