Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/48: Рейтинг темы: голосов - 48, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 33

Вывести знак зодиака, соответствующий дате

28.10.2012, 22:43. Показов 9284. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста сделать
А.Даны два целых числа: D (день месяца) и M (номер месяца в году). Вывести знак зодиака, соответствующий этой дате. В программе необходимо использовать условный оператор И оператор switch.

Справочник знаков зодиака:
21.03 - 20.04 - "Овен"
21.04 - 21.05 - "Телец"
22.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 - 19.02 - "Водолей"
20.02 - 20.03 - "Рыбы"


В.В условиях части A данной задачи добавить ввод третьего числа Y - номера года (). При этом программе следует выводить на экран не только знак зодиака, соответствующий указанной дате, но и символ года по восточному календарю. Например, если введены числа:
31 07 1991
программа должна будет вывести:
Лев - Овца.
Справочник символов восточного календаря:
1984 - Крыса
1985 - Бык
1986 - Тигр
1987 - Кролик
1988 - Дракон
1989 - Змея
1990 - Лошадь
1991 - Овца
1992 - Обезьяна
1993 - Петух
1994 - Собака
1995 - Свинья
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.10.2012, 22:43
Ответы с готовыми решениями:

Вывести знак Зодиака, соответствующий данной дате
Задания: 3) Даны два целых числа: D (день) и M (месяц), определяющие правильную дату. Вывести знак Зодиака, соответствующий этой дате:...

Вывести на консоль знак Зодиака, соответствующий заданной дате
Даны два целых числа D (день) и M (месяц), определяющие правильную дату. Необходимо вывести знак Зодиака, соответствующий этой дате. ...

Даны два целых числа: D (день месяца) и M (номер месяца в году). Вывести знак зодиака, соответствующий этой дате.
Помогите пожалуйста сделать не знаю даже с чего начать Даны два целых числа: D (день месяца) и M (номер месяца в году). Вывести знак...

6
5 / 4 / 3
Регистрация: 26.10.2012
Сообщений: 30
29.10.2012, 11:19
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include <iostream>
#include <string>
 
using namespace std;
//
int part(long y)
{
    int i;
    i = y%12;
    return i; 
}
// âõ: ãîäà
// âû: çîî
string KitaiZoo(long y)
{
    int i = part(y);
    switch (i)
    {
    case 1:
        return ("Овца");
    case 2:
        return ("Ñîáàêà");
    case 3:
        return ("Ñâèíüÿ");
    case 4:
        return ("Êðûñà");
    case 5:
        return ("Áûê");
    case 6:
        return ("Òèãð");
    case 7:
        return ("Êðîëèê");
    case 8:
        return ("Äðàêîí");
    case 9:
        return ("Çìåÿ");
    case 10:
        return ("Ëîøàäü");
    case 11:
        return ("Îâöà");
    case 12:
        return ("Îáåçüÿíà");
    default:
        return ("????");
    }
}
 
main()
{
    cout<<"1984 "<<KitaiZoo(1984)<<endl;
    cout<<"1985 "<<KitaiZoo(1985)<<endl;
    cout<<"1986 "<<KitaiZoo(1986)<<endl;
    cout<<"1987 "<<KitaiZoo(1987)<<endl;
    cout<<"1988 "<<KitaiZoo(1988)<<endl;
    cout<<"1989 "<<KitaiZoo(1989)<<endl;
    cout<<"1990 "<<KitaiZoo(1990)<<endl;
    cout<<"1991 "<<KitaiZoo(1991)<<endl;
    cout<<"1992 "<<KitaiZoo(1992)<<endl;
    cout<<"1993 "<<KitaiZoo(1993)<<endl;
    cout<<"1994 "<<KitaiZoo(1994)<<endl;
    cout<<"1995 "<<KitaiZoo(1995)<<endl;
    cout<<"1996 "<<KitaiZoo(1996)<<endl;
    
    return 0;
}
1
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 33
29.10.2012, 15:13  [ТС]
показывает ошибку "отсутствует спецификатор типа - предполагается int"
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
29.10.2012, 15:34
C++
1
string KitaiZoo(long int y) попробуй
Добавлено через 6 минут
C++
1
int part(long int y)
0
0 / 0 / 0
Регистрация: 28.10.2012
Сообщений: 33
29.10.2012, 15:49  [ТС]
вроде все же правильно? но "отсутствует спецификатор типа - предполагается int." все равно выходит


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <string>
  using namespace std;
  //
   int part(long int y)
{
    int i;
    i = y%12;
    return i; 
}
   // вх: года
   // вы: зоо
   string KitaiZoo(long int y)
{
    int i = part(y);
    switch (i)
    {
    case 1:
        return ("Овца");
    case 2:
        return ("Собака");
    case 3:
        return ("Свинья");
    case 4:
        return ("Крыса");
    case 5:
        return ("Бык");
    case 6:
        return ("Тигр");
    case 7:
        return ("Кролик");
    case 8:
        return ("Дракон");
    case 9:
        return ("Змея");
    case 10:
        return ("Лошадь");
    case 11:
        return ("Овца");
    case 12:
        return ("Обезьяна");
    default:
        return ("????");
    }
}
    main()
{
    cout<<"1984 "<<KitaiZoo(1984)<<endl;
    cout<<"1985 "<<KitaiZoo(1985)<<endl;
    cout<<"1986 "<<KitaiZoo(1986)<<endl;
    cout<<"1987 "<<KitaiZoo(1987)<<endl;
    cout<<"1988 "<<KitaiZoo(1988)<<endl;
    cout<<"1989 "<<KitaiZoo(1989)<<endl;
    cout<<"1990 "<<KitaiZoo(1990)<<endl;
    cout<<"1991 "<<KitaiZoo(1991)<<endl;
    cout<<"1992 "<<KitaiZoo(1992)<<endl;
    cout<<"1993 "<<KitaiZoo(1993)<<endl;
    cout<<"1994 "<<KitaiZoo(1994)<<endl;
    cout<<"1995 "<<KitaiZoo(1995)<<endl;
    cout<<"1996 "<<KitaiZoo(1996)<<endl;
     return 0;
}
0
 Аватар для Евгений89
102 / 102 / 39
Регистрация: 17.04.2011
Сообщений: 554
29.10.2012, 16:23
перен майном инт забыли
C++
1
int main{
поставь и все заработает

Добавлено через 10 минут
C++
1
точнее int main(){
Добавлено через 17 минут
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include <iostream>
#include <string>
 
using namespace std;
//
int part(long y)
{
    int i;
    i = y%12;
    return i; 
}
// вх: года
// вы: зоо
string KitaiZoo(long y)
{
    int i = part(y);
    switch (i)
    {
    case 1:
        return ("Овца");
    case 2:
        return ("Собака");
    case 3:
        return ("Свинья");
    case 4:
        return ("Крыса");
    case 5:
        return ("Бык");
    case 6:
        return ("Тигр");
    case 7:
        return ("Кролик");
    case 8:
        return ("Дракон");
    case 9:
        return ("Змея");
    case 10:
        return ("Лошадь");
    case 11:
        return ("Овца");
    case 12:
        return ("Обезьяна");
    default:
        return ("????");
    }
}
 
int main(){
    cout<<"1984 "<<KitaiZoo(1984)<<endl;
    cout<<"1985 "<<KitaiZoo(1985)<<endl;
    cout<<"1986 "<<KitaiZoo(1986)<<endl;
    cout<<"1987 "<<KitaiZoo(1987)<<endl;
    cout<<"1988 "<<KitaiZoo(1988)<<endl;
    cout<<"1989 "<<KitaiZoo(1989)<<endl;
    cout<<"1990 "<<KitaiZoo(1990)<<endl;
    cout<<"1991 "<<KitaiZoo(1991)<<endl;
    cout<<"1992 "<<KitaiZoo(1992)<<endl;
    cout<<"1993 "<<KitaiZoo(1993)<<endl;
    cout<<"1994 "<<KitaiZoo(1994)<<endl;
    cout<<"1995 "<<KitaiZoo(1995)<<endl;
    cout<<"1996 "<<KitaiZoo(1996)<<endl;
    
    return 0;
}
0
5 / 4 / 3
Регистрация: 26.10.2012
Сообщений: 30
29.10.2012, 19:04
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <string>
 
using namespace std;
//
int part(long y)
{
    int i;
    i = y%12;
    return i; 
}
// âõ: ãîäà
// âû: çîî
string KitaiZoo(long y)
{
    int i = part(y);
    switch (i)
    {
    case 1:
        return ("1.Ïåòóõ");
    case 2:
        return ("2.Ñîáàêà");
    case 3:
        return ("3 Ñâèíüÿ");
    case 4:
        return ("4 Êðûñà");
    case 5:
        return ("5 Áûê");
    case 6:
        return ("6 Òèãð");
    case 7:
        return ("7 Êðîëèê");
    case 8:
        return ("8 Äðàêîí");
    case 9:
        return ("9 Çìåÿ");
    case 10:
        return ("10Ëîøàäü");
    case 11:
        return ("11Îâöà");
    case 12:
        return ("12Îáåçüÿíà");
    default:
        return ("Êòî òàì?");
    }
}
 
bool IsLeapYear(int year)
{
    return ((year%400==0) || (year%4==0 && year%100!=0));
}
int GetDaysInMonth (int year, short month)
{
    switch (month) {
    case 2: return IsLeapYear(year) ? 29 : 28;
    case 4:
    case 6:
    case 9:
    case 11: return 30;
    default: return 31;
    }
}
int GetDaysInYear(int year, short month, short day)
{
    int days = day;
    for (int i=1; i<month; i++)
        days+= GetDaysInMonth(year, i);
    if (month == 1)
        days = day;
    return days;
}
// âõ: ãîäà, ìåñÿöà, äåíü 
// âû: çíàê çîäèàêà
string Zodiak(int year, short month, short day)
{
    int currDay = GetDaysInYear( year, month, day);
    if (GetDaysInYear(year,  1, 20) >= currDay || currDay >= GetDaysInYear(year, 12, 22)) return ("1.Êîçåðîã");
    if (GetDaysInYear(year,  1, 21) <= currDay && currDay <= GetDaysInYear(year,  2, 19)) return ("2.Âîäîëåé");
    if (GetDaysInYear(year,  2, 20) <= currDay && currDay <= GetDaysInYear(year,  3, 20)) return ("3.Ðûáû");
    if (GetDaysInYear(year,  3, 21) <= currDay && currDay <= GetDaysInYear(year,  4, 20)) return ("4.Îâåí");
    if (GetDaysInYear(year,  4, 21) <= currDay && currDay <= GetDaysInYear(year,  5, 21)) return ("5.Òåëåö");
    if (GetDaysInYear(year,  5, 22) <= currDay && currDay <= GetDaysInYear(year,  6, 21)) return ("6.Áëèçíåöû");
    if (GetDaysInYear(year,  6, 22) <= currDay && currDay <= GetDaysInYear(year,  7, 22)) return ("7.Ðàê");
    if (GetDaysInYear(year,  7, 23) <= currDay && currDay <= GetDaysInYear(year,  8, 23)) return ("8.Ëåâ");
    if (GetDaysInYear(year,  8, 24) <= currDay && currDay <= GetDaysInYear(year,  9, 23)) return ("9.Äåâà");
    if (GetDaysInYear(year,  9, 24) <= currDay && currDay <= GetDaysInYear(year, 10, 23)) return ("10Âåñû");
    if (GetDaysInYear(year, 10, 24) <= currDay && currDay <= GetDaysInYear(year, 11, 22)) return ("11Ñêîðïèîí");
    if (GetDaysInYear(year, 11, 23) <= currDay && currDay <= GetDaysInYear(year, 12, 21)) return ("12Ñòðåëåö");
    return ("Êòî òàì?");
 
}
 
 
int main()
{
    cout<<"Input correct day, month & year"<<endl;
    int year, month, day;
    cout<<"Year: ";
    cin>>year;  // Âíèìàíèå > 0!
 
    do{
        cout<<"Month: ";
        cin>>month;
        if (month > 0 || month < 13) break;
        cout<<"Êòî òàì?"<<endl;
    } while (true);
 
    do{
        cout<<"Day: ";
        cin>>day;
        if (day > 0 || day <= GetDaysInMonth (year, month)) break;
        cout<<"Êòî òàì?"<<endl;
    } while (true);
 
    cout<<Zodiak( year, month, day)<<" "<<KitaiZoo(year)<<endl;
    
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.10.2012, 19:04
Помогаю со студенческими работами здесь

Определить знак зодиака по дате
Введите число и месяц рождения. Определить, под каким знаком зодиака рожден человек в этот день. (Считается, что каждый знак зодиака...

Программа выводит знак зодиака по введённой дате и месяцу
Нужно написать программу которая которая выводит знак зодиака по введённой дате и месяцу, в одну переменную занести месяц , во вторую число...

Вывести знак зодиака
20. Известно, что астрологи делят год на 12 периодов и каждому из них ставят в соответствие один из знаков Зодиака. 20.01 - 18.02 -...

Вывести знак Зодиака, используя switch
Помогите исправить ошибки, я только начал изучать С++, ещё рак в этом деле, не могу сделать нормально программу - имея дату (т.е месяц и...

По числу и месяцу вывести знак зодиака
помогите пожалуйста написать алгоритм использования операторов if и switch вместе. цель такая: по числу и месяцу нужно вывести знак зодиака...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru