Вот, нарисовал некий алгоритм насчет Зодиака. Реализация (увы) - на Паскале, но, думаю, перевести в СИ несложно. Здесь применяются латинские названия Знаков:
Aries - Овен
Taurus - Телец
Gemini - Близнецы
Cancer - Рак
Leo - Лев
Virgo - Дева
Libra - Весы
Scorpio - Скорпион
Saggitarius - Стрелец
Capricorn - Козерог
Aquarius - Водолей
Pisces - Рыбы
Код:
VAR
month,date,md: WORD;
S:STRING;
Begin
Write('Enter month (1-12) ');
ReadLn(Month);
Write('Enter date (1-31) ');
ReadLn(Date);
md:=month*100+date;
If md< 121 then S:='Capricorn' else
If md< 219 then S:='Aquarius' else
If md< 321 then S:='Pisces' else
If md< 421 then S:='Aries' else
If md< 521 then S:='Taurus' else
If md< 622 then S:='Gemini' else
If md< 723 then S:='Cancer' else
If md< 823 then S:='Leo' else
If md< 924 then S:='Virgo' else
If md<1024 then S:='Libra' else
If md<1123 then S:='Scorpio' else
If md<1222 then S:='Sagittarius' else
S:='Capricorn';
WriteLn('Zodiac sign is ',S);
ReadLn;
END.
Проверено - работает.