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

Определение знака зодиака по дате рождения

01.10.2008, 18:49. Показов 80402. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопщем то я написал прогу, но препод говорит что она не эффективная...
Снизу прикрепил то, что я своял
Можете подсказать как сделать?

Требуется определить знак зодиака в зависимости от даты рождения. Пользователь вводит месяц и день своего рождения, а в ответ получает знак зодиака (либо сообщение, что введённой пользователем даты не существует). Алгоритм и программа должны корректно работать для всех дат от 1901 до 2099 года включительно (в случае, если введённый пользователем год меньше 1900 или больше 2100, программа должна сообщать что не может сосчитать дату).

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

Знаки зодиака:
Овен [21.03 - 20.04]
Телец [21.04 - 20.05]
Близнецы [21.05 - 21.06]
Рак [22.06 - 22.07]
Лев [23.07 - 23.08]
Дева [24.08 - 23.09]
Весы [24.09 - 23.10]
Скорпион [24.10 - 22.11]
Стрелец [23.11 - 21.12]
Козерог [22.12 - 20.01]
Водолей [21.01 - 20.02]
Рыбы [21.02 - 20.03]
Вложения
Тип файла: rar zodiac.rar (977 байт, 1311 просмотров)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
01.10.2008, 18:49
Ответы с готовыми решениями:

По введенной дате рождения дополнить файл строками соответсвующего знака Зодиака
Кто напишет програму ?? Условие По введенной дате рождения (похотду с клавиатуры )(день, месяц , в любой форме ввода) дополнить файл...

По введенной дате рождения дополнить файл строками соответсвующего знака Зодиака
Ось такє завдання, допоможіть По уведеній даті народження (день і місяць, форма уведення у файл довільна) доповнити файл рядками...

По дате рождения опредилить знак зодиака
По дате рождения опредилить знак зодиака!

5
25 / 20 / 4
Регистрация: 13.03.2008
Сообщений: 79
01.10.2008, 19:14
Хм, забавно, но по-моему вполне может быть из-за того, что вы неэффективно используете память: объявили переменную 'a' типа string (256 байт памяти!!!) и ни разу не использовали ее в программе.
ЗЫ Больно придирчивый препод
ЗЗЫ А вообще конечно надо постараться избавиться от громоздкой конструкции оператора выбора case of. Как вариант: создать файл, в который записать все периоды знаков зодиаков и их названия, и уже после введение даты с клавиатуры, считывать значения периодов и названий из файла и проверять в какой из периодов входит введенная дата, возможно так преподу больше понравится...
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
01.10.2008, 19:27
а чем он аргументировал неэффективность? в принципе я бы определял сразу какой год - высокосный или нет, и какую-нить булевую переменную завел, проверок было бы поменьше
0
kevu
01.10.2008, 19:38
мне сказали что там както это все через два case делается

ЗЫ эт мне надо к завтрашнему дню... может кто помочь??? а то не поставят зачет
Почетный модератор
 Аватар для Puporev
64314 / 47610 / 32743
Регистрация: 18.05.2008
Сообщений: 115,168
01.10.2008, 19:41
Еще из проверки на високосность надо убрать проверку на 100 и 400. С 1901 по 2099 год таких нет. По этой проверке 1900 год не високосный, так его нет, а 2000 год високосный.
0
25 / 20 / 4
Регистрация: 13.03.2008
Сообщений: 79
01.10.2008, 19:47
Может быть стоит сразу считывать дату отключив проверку ввода-вывода ({-I}), а потом делать только один раз проверку всей даты (и года, и месяца, и числа) и спокойно писать case, безо всяких там еще
Pascal
1
2
3
else
writeln('В месяце столько дней не бывает!');
end;
а то конструкция одна и таже много раз повторяется.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2008, 19:47
Помогаю со студенческими работами здесь

Определение фамилии вашего товарища по дате его рождения
Помогите пожалуйста с лабораторной по информатике.Задание:Сформировать файл компоненты которого являются записями содержащими информацию о...

Составить программу нахождения по дате рождения дня недели, знака зодиака
"День недели". Составить программу нахождения по дате рождения дня недели, знака зодиака.

По дате рождения определить знак зодиака
program znak; uses crt; var m,d:byte; begin clrscr; writeln('Введите дату рождения(пример 12 <Enter> 02) '); readln(d,m); ...

Программа, определяющая знак зодиака по дате рождения
Написать программу, определяющую знак зодиака по дате рождения.

Написать программу, которая по введенной дате рождения человека определит кто он по знаку зодиака
Известно, что астрологи делят год на 12 периодов и каждому из них ставят в соответствие один из знаков Зодиака: Период Знак...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru