Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <conio.h>
- using namespace std;
- enum Items : int
- {
- Aries, //oven
- Leo, //lev
- Sagittarius, //strelec
- Taurus, //telec
- Virgo, //deva
- Capricorn, //cozerog
- Gemini, //blizneci
- Libra, //vesi
- Aquarius, //vodolei
- Cancer, //rak
- Scorpio, //scorpion
- Pisces //ribi
- };
- char ItemsTexts[12][30] =
- {
- "Овен",
- "Лев",
- "Стрелец",
- "Телец",
- "Дева",
- "Козерог",
- "Блезнецы",
- "Весы",
- "Водолей",
- "Рак",
- "Скорпион",
- "Рыбы"
- };
- enum Month
- {
- January=1,
- February,
- March,
- April,
- May,
- June,
- July,
- August,
- September,
- October,
- November,
- December
- };
- struct Person
- {
- int Date[3];
- char Name[20];
- char LName[50];
- };
- int getSignature(Person man);
- bool isInInterval(int D, int M, int d1, int m1, int d2, int m2);
- int main()
- {
- /*
- Знак зодиака. Фамилия, имя, знак зодиака, дата рождения.
- Дату рождения реализовать с помощью битового поля, знак зодиака – через перечисления
- */
- setlocale(LC_ALL,"Russian");
- system("color 8b");
- cout << "<========ЗНАКИ ЗОДИАКА ПО ДАТАМ========>" << endl << endl;
- while(true)
- {
- Person man;
- cout << "[?] Имя: "; cin >> man.Name;
- cout << "[?] Фамилия: "; cin >> man.LName;
- cout << "[?] Дата[ДЕНЬ]: "; cin >> man.Date[2];
- cout << "[?] Дата[МЕСЯЦ]: "; cin >> man.Date[1];
- cout << "[?] Дата[ГОД]: "; cin >> man.Date[0];
- if(getSignature(man) != -1)
- cout << "[*] Знак зодиака: " << ItemsTexts[getSignature(man)];
- else cout << "[!] Синтаксическая ошибка выполнения!";
- cout << endl << endl;
- }
- system("pause");
- return 0;
- }
- bool isInInterval(int D, int M, int d1, int m1, int d2, int m2)
- {
- if((M == m1 && D > d1) || (M == m2 && D < d2)) return true;
- else return false;
- }
- int getSignature(Person man)
- {
- int m = man.Date[1], d = man.Date[2];
- if(isInInterval(d, m, 21, March, 20, April)) return Aries;
- if(isInInterval(d, m, 21, April, 21, May)) return Taurus;
- if(isInInterval(d, m, 22, May, 21, June)) return Gemini;
- if(isInInterval(d, m, 22, June, 22, July)) return Cancer;
- if(isInInterval(d, m, 23, July, 22, August)) return Leo;
- if(isInInterval(d, m, 23, August, 23, September)) return Virgo;
- if(isInInterval(d, m, 24, September, 23, October)) return Libra;
- if(isInInterval(d, m, 24, October, 22, November)) return Scorpio;
- if(isInInterval(d, m, 23, November, 21, December)) return Sagittarius;
- if(isInInterval(d, m, 22, December, 20, January)) return Capricorn;
- if(isInInterval(d, m, 21, January, 19, February)) return Aquarius;
- if(isInInterval(d, m, 20, February, 20, March)) return Pisces;
- return -1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement