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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.03.2010, 19:33   #1
NaniDesKa
 
Регистрация: 12.03.2010
Сообщений: 3
Вопрос Перечислимые типы и символьные массивы. Pascal.

1) Мне задано 2 перечислимых типа: месяцы и сезоны. Нужно составить программу, определяющую на какой сезон приходится данный месяц.
Вот что я натворил (работает)
Uses crt;
Type
sez = (Spring, Summer, Autumn, Winter);
mes = (January, February, March, April, May, June, Jule, August, September, October, November, December);
Var
s: sez;
m: mes;
num:1..12;
i: integer;
Begin
Clrscr;
Writeln ('Enter № of months ');
Read (num);
Case num of
1 : m:= January;
2 : m:= February;
3 : m:= March;
4 : m:= April;
5 : m:= May;
6 : m:= June;
7 : m:= Jule;
8 : m:= August;
9 : m:= September;
10 : m:= October;
11 : m:= November;
12 : m:= December;
End;
Case m of
January, February, December: Write ('- Winter months');
March, April, May: Write ('- Spring months');
June, Jule, August: Write ('- Summer months');
September, October, November: Write ('- Autumn months');
End;
Read (i);
End.
Хотелось бы, чтобы выводил не 1 - winter months, а Junuary - winter mounth... И вообще правильно ли я составил?) Просто никаких функций и сезоны я не трогал.

2) Дана послед. до 30 слов из 1 - 5 символов каждое, в конце последнего точка, между словами пробел/запятая. Задать строковую const до 5 символов и напечатать все последовательности, содержащую ее.
Здесь мне даже не понятно чего от меня требуют (в смысле не понятно насчет слов, как это оформить, когда вводишь данные).
Вот, если вам не сложно, помогите.. и простите, если много понаписал, хочется разобраться.
NaniDesKa вне форума Ответить с цитированием
Старый 12.03.2010, 20:54   #2
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Writeln ('Enter № of months ');
Read (num);
case num of
1..2, 12 : Write (m[num], ' - ', sez[4]);
4..6: Write (m[num], ' - ', sez[1]);
и т.д.
end;


немного исправил, смотри
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]

Последний раз редактировалось RUSt88; 12.03.2010 в 21:49.
RUSt88 вне форума Ответить с цитированием
Старый 12.03.2010, 21:31   #3
NaniDesKa
 
Регистрация: 12.03.2010
Сообщений: 3
По умолчанию

RUSt88
Спасибо.)
Только надо ввести массив, там ведь m[num] на это указывает?)
NaniDesKa вне форума Ответить с цитированием
Старый 13.03.2010, 09:32   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

NaniDesKa, к сожалению, переменная заданного Вами перечисляемого типа выведена на экран быть НЕ МОЖЕТ.
Поэтому, если Вам надо выводить название месяца, Вам прийдётся написать либо код вида:
Код:
function GetMonthName(mmm : mes) : string;
begin
  Case m of
   January : GetMonthName := 'January';
   February : GetMonthName := 'February';
   March : GetMonthName := 'March';
   ...
   December: GetMonthName := 'December';
 End;
end;
...
и далее в программе:
 Write (GetMonthName(m), '- Winter months');
либо банально завести массив вида:
Код:
   const MonthName: array[0..11] of string[10] =
     (' Январь  ',' Февраль ','  Март   ',' Апрель  ','   Май   ',
      '  Июнь   ','  Июль   ',' Август  ','Сентябрь ','Октябрь ',
      ' Ноябрь  ',' Декабрь ');

и тогда в программе:
 Write (MonthName[ord(m)], '- Winter months');
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.03.2010, 07:32   #5
NaniDesKa
 
Регистрация: 12.03.2010
Сообщений: 3
По умолчанию

Ммм, спасибо всем. =)
NaniDesKa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Символьные типы данных ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 5 14.06.2012 13:43
Символьные массивы и строки. kGxDD Паскаль, Turbo Pascal, PascalABC.NET 1 24.04.2009 11:39
Одномерные символьные массивы chubakasun Помощь студентам 1 31.03.2009 02:26
Символьные типы данных ...Оленька... Паскаль, Turbo Pascal, PascalABC.NET 14 07.01.2009 04:44
Помогите с прогой. Тема: символьные массивы Алексей Д. Помощь студентам 6 02.04.2008 22:10