0 / 0 / 0
Регистрация: 17.06.2018
Сообщений: 59
1

Восточный календарь: по номеру года определить его название

20.06.2018, 15:36. Показов 671. Ответов 0
Метки нет (Все метки)

В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов,
обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный.
В каждом подцикле годы носят названия животных:
крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи.
По номеру года определить его название, если 1984 год — начало цикла: «год зеленой крысы»

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
/*В восточном календаре принят 60-летний цикл, состоящий из 12-летних подциклов, 
обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. 
В каждом подцикле годы носят названия животных:
крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. 
По номеру года определить его название, если 1984 год — начало цикла: «год зеленой крысы».*/
 
#include <iostream>
using namespace std;
void main() {
    setlocale(LC_ALL, "RUS");
    {
        int year;
        cout << "Введите год: \n";
        cin >> year;
        switch ((year) % 10) {
        case 0:
        case 1:
            cout << ("бел");
            break;
        case 2:
        case 3:
            cout << ("черн");
            break;
        case 4:
        case 5:
            cout << ("зелён");
            break;
        case 6:
        case 7:
            cout << ("красн");
            break;
        case 8:
        case 9:
            cout << ("жёлт");
            break;
        }
 
        switch ((year + 1) % 5) {
        case 0:
        case 1:
        case 2:
        case 3:
        case 4:
        case 5:
        case 9:
        case 10:
        case 11:
            cout << ("ой ");
            break;
        case 6:
        case 7:
        case 8:
            cout << ("ого ");
            break;
        }
 
        switch ((year + 8) % 12) {
        case 0:
            cout << ("крысы\n");
            break;
        case 1:
            cout << ("коровы\n");
            break;
        case 2:
            cout << ("тигра\n");
            break;
        case 3:
            cout << ("зайца\n");
            break;
        case 4:
            cout << ("дракона\n");
            break;
        case 5:
            cout << ("змеи\n");
            break;
        case 6:
            cout << ("лошади\n");
            break;
        case 7:
            cout << ("овцы\n");
            break;
        case 8:
            cout << ("обезьяны\n");
            break;
        case 9:
            cout << ("курицы\n");
            break;
        case 10:
            cout << ("собаки\n");
            break;
        case 11:
            cout << ("свиньи\n");
            break;
        }
    }
Работает но неправильно. Ввожу как в условии 1984 год - должен быть зеленой крысы, а получается "зеленой дракон". В чем проблема?

Добавлено через 4 часа 56 минут
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
#include <iostream>
using namespace std;
void main() {
    int year = 0;
    cout << "Enter year:\n";
    cin >> year;
    cout << "Year ";
        switch (year % 10) {
        case 0:
        case 1: cout << "white";
            break;
        case 2:
        case 3: cout << "black";
            break;
        case 4:
        case 5: cout << "green";
            break;
        case 6:
        case 7: cout << "red";
            break;
        case 8:
        case 9: cout << "yellow";
            break;
        }
        switch ((year + 8) % 12) {
        case 0: cout << " rats\n";//крыса
            break;
        case 1: cout << " cow\n";//корова
            break;
        case 2: cout << " tiger\n";//тигр
            break;
        case 3: cout << " hare\n";//заяц
            break;
        case 4: cout << " dragon\n";//дракон
            break;
        case 5: cout << " snake\n";//змея
            break;
        case 6: cout << " horde\n";//лошадь
            break;
        case 7: cout << " sheep\n";//овца
            break;
        case 8: cout << " monkey\n";//обезьяна
            break;
        case 9: cout << " chicken\n";//курица
            break;
        case 10: cout << " dog\n";//собака
            break;
        case 11: cout << " pig\n";//свинья
            break;
        default: cout << "";
        }
}
Вот готовый результат. Формулы нашел в инэте. Подскажите причем в этой формуле switch ((year + 8) % 12) делает "+8. Не пойму...Кто знает подскажите
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.06.2018, 15:36
Ответы с готовыми решениями:

Восточный календарь: по номеру года определить его название
Давным давно, в одной альтернативной вселенной, в восточном календаре был принят 60-летний цикл,...

Восточный календарь: вывести название года
Давным давно, в одной альтернативной вселенной, в восточном календаре был принят 60-летний цикл,...

По номеру года определить его название по восточному календарю
Помогите решить задачу с использованием условного оператора(if) и оператора выбора(switch) :help: ...

По номеру месяца определить его название и время года к которому он относится
По номеру месяца определить его название и время года к которому он относится (на Си) Во-первых,...

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.06.2018, 15:36

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

По номеру месяца определить название времени года
Написать программу которая запрашивает у пользователя номер месяца и затем выводит соответствующее...

По номеру года вывести его название, если 1984 был началом цикла — годом зеленой крысы
Помогите отладить программу задача которой : В восточном календаре принят 60-летний цикл,...

По номеру месяца вывести соответствующее название времени года
Задача 4. (1-4.cpp, 14.dsp) Написать программу, которая запрашивает у пользователя номер месяца, а...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.