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

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

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

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста сделать
А.Даны два целых числа: 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.10.2012, 22:43
Ответы с готовыми решениями:

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

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

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

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

6
5 / 4 / 3
Регистрация: 26.10.2012
Сообщений: 29
29.10.2012, 11:19 2
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  [ТС] 3
показывает ошибку "отсутствует спецификатор типа - предполагается int"
0
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
29.10.2012, 15:34 4
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  [ТС] 5
вроде все же правильно? но "отсутствует спецификатор типа - предполагается 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
101 / 101 / 39
Регистрация: 17.04.2011
Сообщений: 554
29.10.2012, 16:23 6
перен майном инт забыли
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
Сообщений: 29
29.10.2012, 19:04 7
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
29.10.2012, 19:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.10.2012, 19:04
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru