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

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

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.03.2010, 18:44   #1
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию Старояпонский календарь на PHP

Ребят, вот такое задание:

В старояпонском календаре был принят 60-летний цикл, состоявший из пяти 12-летних подциклов. Подциклы
обозначались названиями цвета: зеленый, красный, желтый, белый и черный. Внутри каждого подцикла годы носили питания животных: крысы, быка, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи (1984 год –
год зеленой крысы – был началом очередного цикла). Написать программу, которая вводит номер года нашей эры с
клавиатуры и выводит его название по старояпонскому календарю

1. На странице (например, «index4.php») реализовать форму, позволяющую ввести год и организующую отправку
запроса методом GET на обработчик «syc.php».

2. Реализуйте алгоритм определения года в старояпонском календаре.

3. Организуйте проверку правильности ввода года с помощью функции is_numeric(), проверяющую является ли
значение переменной числом.


Я не прошу готового кода, с этим в принципе проблем нет. Самое сложное здесь решить задачку, т.е. какие действия надо выполнить, чтобы дать "ответ" пользователю, на введённый им год. Подскажите, кто скалкивался с таким заданием, буду благодарен!
Xeon332 вне форума Ответить с цитированием
Старый 16.03.2010, 20:00   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

все по массивам:
PHP код:
$main = array(
"зеленый""красный" ....
); 
Потом на введенный год фиксируем модуль разницы с 1984 и выбираем нужные элементы массива по ключу. В данном случае ключи будут от 0 до 11
there are no limits when you're software engineer

Последний раз редактировалось spein; 16.03.2010 в 20:05.
spein вне форума Ответить с цитированием
Старый 16.03.2010, 20:09   #3
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

Цитата:
Сообщение от spein Посмотреть сообщение
все по массивам:
PHP код:
$main = array(
"зеленый""красный" ....
); 
Потом на введенный год фиксируем модуль разницы с 1984 и выбираем нужные элементы массива по ключу. В данном случае ключи будут от 0 до 11
Т.е. если я ввожу 2003 год, то простым образом вычитаю: 2003-1984.

А как выбрать нужные элементы массива по ключу?
Xeon332 вне форума Ответить с цитированием
Старый 16.03.2010, 20:17   #4
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Обычно это просто $nazvanie_massiva[$nazv_klucha];
motorway вне форума Ответить с цитированием
Старый 16.03.2010, 20:25   #5
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

Цитата:
Сообщение от motorway Посмотреть сообщение
Обычно это просто $nazvanie_massiva[$nazv_klucha];
это понятно. я имел ввиду как определить какой именно ключ надо выбрать?
Xeon332 вне форума Ответить с цитированием
Старый 16.03.2010, 20:26   #6
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Скорее всего, подсчитать остаток mod 12
motorway вне форума Ответить с цитированием
Старый 16.03.2010, 20:30   #7
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Xeon, то есть |1984 - 2003| = 19.
19 - 12 - 1 = 6 // зеленый подцылк, поскольку меньше 12
19 - 12 - 1 = 6 // это год лошади.

P.S. (-1 из-за того что массив начинается с 0)
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 16.03.2010, 21:35   #8
Xeon332
Скоро сессия...
Форумчанин
 
Регистрация: 03.01.2008
Сообщений: 224
По умолчанию

Благодарю вас за помощь!
Xeon332 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Календарь в VS Faridik Общие вопросы .NET 0 18.02.2010 09:39
календарь monthview ruavia3 Microsoft Office Excel 3 27.08.2009 23:42
Календарь ruavia3 Microsoft Office Excel 6 16.04.2009 15:32
Календарь в Delphi Vladya Помощь студентам 4 09.11.2008 12:44