Задаватель вопросов
 Аватар для Parlepapindipon
0 / 0 / 0
Регистрация: 18.09.2020
Сообщений: 258
Записей в блоге: 13

Тип record: собственные типы данных

26.06.2021, 15:35. Показов 2079. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день!

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
program PR17;
 
{$MODE OBJFPC}{$H+}
{$APPTYPE CONSOLE}
{$codepage utf8}
 
Uses
SysUtils;
 
type
  TName = record
 
  firstName     :string;
  Height        :integer;
 
         end;
  var
 Name, Height1: TName;
begin
 
  Name.firstName:= 'Mark';
  WriteLn(Name.firstName);
  ReadLn;
 
  Height1.Height:= 188;
  WriteLn(IntToStr(Height1.Height));
  ReadLn;
 
 
end.
Вот мой код с типом рекорд, не могу вывести Height1 на экран...
Подскажите, что не так?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.06.2021, 15:35
Ответы с готовыми решениями:

Тип данных record (запись). Помогите пожалуйста!
Задание: В соответствии с индивидуальным вариантом необходимо составить программу для ЭВМ, осуществляющую заполнение массива записей...

Компилятор не опознаёт пользовательский тип данных record E2003
Delphi XE3. Компилятор не опознает пользовательский тип данных, объявление типа и переменной происходит в одном модуле. uMain.pas(64):...

Type record и различные типы Byte Word DWORD
Здравствуйте форумчане, любители и профи кодить в делфи. Помогите понять суть проблемы и пути ее решения . Как правильно считать файл в...

11
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.06.2021, 15:59
Pascal
1
2
3
4
5
6
7
8
9
10
var Person: TName;//одна реременная-запись с двумя полями
begin
//не используйте в качестве переменных зарезервирванные слова, каким является Name
Person.firstName:= 'Mark';
WriteLn(Person.firstName);
ReadLn;
Person.Height:= 188;
WriteLn(Person.Height));
ReadLn;
end;
1
Задаватель вопросов
 Аватар для Parlepapindipon
0 / 0 / 0
Регистрация: 18.09.2020
Сообщений: 258
Записей в блоге: 13
26.06.2021, 16:06  [ТС]
Puporev, а дату, как вывести?
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.06.2021, 16:07
А как она у Вас объявлена и как Вы ее вводите?
0
Задаватель вопросов
 Аватар для Parlepapindipon
0 / 0 / 0
Регистрация: 18.09.2020
Сообщений: 258
Записей в блоге: 13
26.06.2021, 16:23  [ТС]
Puporev, вот...
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
Type TName = Record
 
DayOfBirth :TDateTime;
 
end;
 
var 
Day: TName;
 begin
        Day.DayOfBirth:= ???
        WriteLn(Day.DayOfBirth);
        ReadLn;
 end.
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.06.2021, 16:45
Если Вы изучаете записи, то так.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
program Project1;
type TDate=record
           day,month,year:word;
           end;
var DayOfBirth:TDate;
begin
DayOfBirth.day:=25;
DayOfBirth.month:=10;
DayOfBirth.year:=2005;
WriteLn(DayOfBirth.day,'.',DayOfBirth.month,'.',DayOfBirth.year);
ReadLn;
end.
0
Задаватель вопросов
 Аватар для Parlepapindipon
0 / 0 / 0
Регистрация: 18.09.2020
Сообщений: 258
Записей в блоге: 13
26.06.2021, 16:50  [ТС]
Puporev, а нельзя вот так "25.10.2005" ??

Добавлено через 1 минуту
В смысле, что бы не отдельно писать как тут:
Pascal
1
2
3
DayOfBirth.day:=25;
DayOfBirth.month:=10;
DayOfBirth.year:=2005;
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.06.2021, 16:54
Тип TDateTime это double, и преобразовывть его в дни, месяцы и годы нужно используя методы модуля DateUtils.
1
Задаватель вопросов
 Аватар для Parlepapindipon
0 / 0 / 0
Регистрация: 18.09.2020
Сообщений: 258
Записей в блоге: 13
26.06.2021, 17:12  [ТС]
Puporev, действительно получилось
Я наверное уже вам надоел со своими вопросами, но еще 1 остался

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
type
  TName = record
 
  IsWomen       :Boolean;
 
         end;
  var
IsWomen1: TName;
 
begin
 
 
  if IsWomen1.IsWomen = false
  then WriteLn(BoolToStr(IsWomen1.IsWomen));
  ReadLn;
У меня
Pascal
1
then WriteLn(BoolToStr(IsWomen1.IsWomen));
выводится как "0", но нужно что б выводилось "false"

P.s.
Друзья подсказали, что нужно использовать BoolToStr с 2мя параметрами, но чет представления не имею как это...
0
Почетный модератор
 Аватар для Puporev
64315 / 47611 / 32743
Регистрация: 18.05.2008
Сообщений: 115,167
26.06.2021, 17:41
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program project1;
{$MODE OBJFPC}{$H+}
{$APPTYPE CONSOLE}
{$codepage utf8}
Uses SysUtils;
var day,month,year:word;
    DayOfBirth:TDateTime;
begin
Writeln('Введите день. месяц и год рождения');
readln(day,month,year);
DayOfBirth:=EncodeDate(year,month,day);
WriteLn(DateToStr(DayOfBirth));
ReadLn;
end.
0
Модератор
 Аватар для D1973
9924 / 6460 / 2457
Регистрация: 21.01.2014
Сообщений: 27,410
Записей в блоге: 3
26.06.2021, 20:30
Цитата Сообщение от Parlepapindipon Посмотреть сообщение
подсказали, нужно использовать BoolToStr с 2мя параметрами
Правильно подсказали:
Pascal
1
then WriteLn(BoolToStr(IsWomen1.IsWomen, true));
Добавлено через 5 минут
Вообще, эта функция имеет 2 параметра: первый - это само логическое выражение, второй - флаг того, в каком виде выдавать результат: в виде текстового представления числа (-1/0) или в виде текста (True/False). По умолчанию второй параметр имеет значение false и его можно не указывать, но результат получается в виде чисел.



Кстати, есть перегруженная версия этой функции с тремя параметрами. Первый - это все то же логическое выражение, значение которого хотим перевести в строку, а остальные два - это тот текст, который будет показываться, если логическое выражение истинно (2-й параметри) и ложно (3-й параметр)
Pascal
1
then WriteLn(BoolToStr(IsWomen1.IsWomen, 'баба', 'мужик'));
0
пофигист широкого профиля
4769 / 3204 / 862
Регистрация: 15.07.2013
Сообщений: 18,612
27.06.2021, 02:00

Не по теме:

Цитата Сообщение от Parlepapindipon Посмотреть сообщение
IsWomen :Boolean;
В современных реалиях продвинутой демократии пора задуматься о том, что для описания гендерных различий недостаточно типа имеющего всего два значения.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2021, 02:00
Помогаю со студенческими работами здесь

Типы данных: есть ли универсальный тип, который может заменить все типы данных в Си?
Добрый вечер! Был бы очень признателен, если бы Вы помогли бы мне понять нижеследующие вопросы: 1. Можете ли на понятным для...

Дополнительные возможности структурирования данных. Собственные типы пользователя
Тема лабы *Дополнительные возможности структурирования данных. Собственные типы пользователя* Задание: В программе сделано описания...

boost::serialization. Как сериальзовывать собственные типы данных?
Как с помощью буста сериализовать следующий класс? class data{ private: std::string Name; std::string Type; unsigned...

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

тип данных Record
type Data= record Deni : 1..31; Mesiat : 1..12; God : integer; end;...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Опции темы

Новые блоги и статьи
[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
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru