Помощь - Поиск - Пользователи - Календарь
Полная версия: типы данных определяемые пользователем
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
udaaff
тема лабораторной: типы данных определяемые пользователем

задача: по введенному сезону определить месяц (тупая, но она такая)
решить ее не проблема без этих типов
а как их реально задействовать здесь, я хз... туплюсь : blink.gif
volvo
Ну, так приведи решение БЕЗ типов, чтобы хотя бы стало понятно, какие входные данные, а какие выходные, добавим в нее типы пользователя...
klem4
Цитата
по введенному сезону определить месяц (тупая, но она такая)


Может по введенному месяцу определить сезон ? Типа вводишь Февраль, программа выдает ответ Зима.
udaaff
uses
crt;

var
season: string;

begin
clrScr;
write ('введите сезон года: ');
readln (season);
if season = 'зима' then write ('декабрь, январь, февраль')
else if season = 'весна' then write ('март, апрель, май')
else if season = 'лето' then write ('июнь, июль, август')
else if season = 'осень' then write ('сентябрь, октябрь, ноябрь')
{или можно создать массив месяцев и брать их от туда}
end.



Если бы можно было вводить с консоли
"типы данных определяемые пользователем", было бы конечно же хорошо

Если посмотреть на эту задачу шире... то по введенному диапазону,
вывести все его значения
У меня были мысли создать тип "месяца", надтипы типа "месяца" -- "сезоны",
но что то все равно...



Гость
Цитата(klem4 @ 18.03.2007 11:32) *

Может по введенному месяцу определить сезон ? Типа вводишь Февраль, программа выдает ответ Зима.

нет... к сожалению именно такое условие -- по сезону месяц (слово месяц почему то в ед. числе, скорее всего все месяца сезона надо вывести)
udaaff
вот какое решение я придумал:)

program laba_666;

uses
crt;

type
month = (
des, jan, fab, mar, apr, may, jun, jul, aug, sep, oct, nov
);

const
month_arr: array[month] of string = (
'декабрь', 'январь', 'февраль', 'март', 'апрель', 'май',
'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь'
);

var
season: string;
i, first, last, a: month;

begin

clrScr;

write('Введите название сезона года: '); readln(season);

if season = 'зима' then first:= des
else if season = 'весна' then first:= mar
else if season = 'лето' then first:= jun
else if season = 'осень' then first:= sep;

a:= first;
inc(a,2);
last:= a;

for i:= first to last do writeln(month_arr[i]);

end.

Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.