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

Цикл while VS C++. Определение знака зодиака

24.03.2015, 01:32. Показов 1783. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
{deleted}
 Комментарий модератора 
Код нужно переписывать в сообщение!

Помогите решить проблему. Нужно сделать выполнения цикла пока а меньше 1 или больше 31.
икл
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.03.2015, 01:32
Ответы с готовыми решениями:

Определение знака зодиака по дате
Помогите пожалуйста сделать листинг программы типа "введите дату\месяц" и выводится определенный...

Определение знака числа
тут опять потребовалась функция возвращающая -1 при отрицательном 1 при положительном и 0 при 0...

Определение знака зодиака
Нужен совет как определять знак зодиака. Даты рождения хранятся в timeshtamp(php), sql(int 10).

Определение второго знака зодиака
В общем дали задание написать программу на тему: "Зодиакальная совместимость". Есть небольшие...

5
20 / 20 / 14
Регистрация: 07.02.2015
Сообщений: 145
24.03.2015, 01:43 2
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
Помогите решить проблему
Сам по себе код скопируйте в сообщение. Скриншот не канает.

Не по теме:

p.s. код искаверкан настолько, насколько его вообще можно было искаверкать...

0
173 / 131 / 74
Регистрация: 04.12.2013
Сообщений: 552
24.03.2015, 01:52 3
Лучший ответ Сообщение было отмечено Alexandr_777 как решение

Решение

while (a < 1 || a > 31)
1
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
24.03.2015, 02:56 4
Цитата Сообщение от Alexandr_777 Посмотреть сообщение
Нужно сделать выполнения цикла пока а меньше 1 или больше 31.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    while (true)
    {
        cout << "\nДень:";
        cin >> a;
        if (a < 1)
        {
            cout << "\nОшибка! Число меньше 1";
            continue;
        }
        if (a > 31)
        {
            cout << "\nОшибка! Число больше 31";
            continue;
        }
        break;
    }
1
0 / 0 / 0
Регистрация: 20.04.2014
Сообщений: 57
24.03.2015, 05:41  [ТС] 5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
while (true)
            {
                cout << "\nДень:"; cin >> a;
                
                if (a <= 0){
                    cout << "\nОшибка! Число меньше 1";
                    continue;
                }
                    
                if (a >= 32){
                    cout << "\nОшибка! Число больше 31";
                    continue;
                }
                break;
            }
Работает спасибо.

Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
9
10
do
            {
                cout << "\nДень:"; cin >> a;
                
                if (a <= 0)
                    cout << "\nОшибка! Число меньше 1";
                    
                if (a >= 32)
                    cout << "\nОшибка! Число больше 31";
            } while (a < 1 || a > 31);
Кстати так тоже работает.

Добавлено через 32 минуты
C++
1
2
3
4
5
6
7
8
9
if (a > 31 && b == 1, 3, 5, 7, 8, 10, 12){
                    cout << "\nОшибка! Число больше 31";
                    continue;
                }
 
                if (a > 30 && b != 1, 3, 5, 7, 8, 10, 12){
                    cout << "\nОшибка! Число больше 30";
                    continue;
                }
Не могу понять. Когда я ввожу 4 месяц он такто выдает ошибку если я ввожу число 31 но он пишет вот это
Ошибка! Число больше 31
а не Ошибка! Число больше 30
Так как в c++ нет аналога in то использовал такой способ

Добавлено через 18 минут
Нашел недочеты и исправил но теперь новая проблема
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
{
            cout << "\nВыбранна задача №1!";
 
            do
            {
                cout << "\nМесяц:"; cin >> b;
                if (b < 1)
                    cout << "\nОшибка! Число меньше 1";
                if (b > 12)
                    cout << "\nОшибка! Число больше 12";
            } while (b < 1 || b > 12);
            
            do
            {
                cout << "\nДень:"; cin >> a;
                
                if (a < 1)
                    cout << "\nОшибка! Число меньше 1";    
                if (a > 31 && b == (1, 3, 5, 7, 8, 10, 12))
                    cout << "\nОшибка! Число больше 31";
 
                if (a > 30 && b != (1, 3, 5, 7, 8, 10, 12))
                    cout << "\nОшибка! Число больше 30";
                    
                if ((b == 2 && a > 29))
                    cout << "\nОшибка! Число больше 29 в Фефрале!";
            } while (a < 1 || (a > 31 && b == (1, 3, 5, 7, 8, 10, 12)) || (a > 30 && b != (1, 3, 5, 7, 8, 10, 12)) || (b == 2 && a > 29));
 
            switch (b)
            {
            case 1:{
                if (a >= 1 && a <= 19)
                    cout << "\nЗнак задиака = Козерог"; break;
                if (a >= 20 && a <= 31)
                    cout << "\nЗнак задиака = Водолей"; break;
            }; 
            case 2:{
                if (a >= 1 && a <= 18)
                    cout << "\nЗнак задиака = Водолей"; break;
                if (a >= 19 && a <= 29)
                    cout << "\nЗнак задиака = Рыбы"; break;
            }; 
            case 3:{
                if (a >= 1 && a <= 20)
                    cout << "\nЗнак задиака = Рыбы"; break;
                if (a >= 21 && a <= 31)
                    cout << "\nЗнак задиака = Овен"; break;
            }; 
            case 4:{
                if (a >= 1 && a <= 21)
                    cout << "\nЗнак задиака = Овен"; break;
                if (a >= 22 && a <= 30)
                    cout << "\nЗнак задиака = Телец"; break;
            }; 
            case 5:{
                if (a >= 1 && a <= 20)
                    cout << "\nЗнак задиака = Телец"; break;
                if (a >= 21 && a <= 31)
                    cout << "\nЗнак задиака = Близнецы"; break;
            }; 
            case 6:{
                if (a >= 1 && a <= 21)
                    cout << "\nЗнак задиака = Близнецы"; break;
                if (a >= 22 && a <= 30)
                    cout << "\nЗнак задиака = Раки"; break;
            }; 
            case 7:{
                if (a >= 1 && a <= 22)
                    cout << "\nЗнак задиака = Раки"; break;
                if (a >= 23 && a <= 31)
                    cout << "\nЗнак задиака = Лев"; break;
            }; 
            case 8:{
                if (a >= 1 && a <= 22)
                    cout << "\nЗнак задиака = Лев"; break;
                if (a >= 23 && a <= 31)
                    cout << "\nЗнак задиака = Дева"; break;
            }; 
            case 9:{
                if (a >= 1 && a <= 22)
                    cout << "\nЗнак задиака = Дева"; break;
                if (a >= 23 && a <= 30)
                    cout << "\nЗнак задиака = Весы"; break;
            }; 
            case 10:{
                if (a >= 1 && a <= 22)
                    cout << "\nЗнак задиака = Весы"; break;
                if (a >= 23 && a <= 31)
                    cout << "\nЗнак задиака = Скорпион"; break;
            }; 
            case 11:{
                if (a >= 1 && a <= 22)
                    cout << "\nЗнак задиака = Скорпион"; break;
                if (a >= 23 && a <= 30)
                    cout << "\nЗнак задиака = Стрелец"; break;
            }; 
            case 12:{
                if (a >= 1 && a <= 21)
                    cout << "\nЗнак задиака = Стрелец"; break;
                if (a >= 22 && a <= 31)
                    cout << "\nЗнак задиака = Козирог"; break;
            }; 
            }
        }
Swith почемуто не выполняется хотя ввожу 4 месяц и 30 число
0
36 / 36 / 27
Регистрация: 05.11.2013
Сообщений: 149
24.03.2015, 09:22 6
В свитче блоки case надо писать без фигурных скобок
C++
1
2
3
4
5
case 9:
                if (a >= 1 && a <= 22)
                    cout << "\nЗнак задиака = Дева"; break;
                if (a >= 23 && a <= 30)
                    cout << "\nЗнак задиака = Весы"; break;
1
24.03.2015, 09:22
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.03.2015, 09:22
Помогаю со студенческими работами здесь

Определение знака зодиака. Особый подход
Знаю 2 способа решения этой задачи, но не один не подходит преподавателю. вот код который работает...

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

Определение знака зодиака по дате рождения
Ребята помоги плизз.... Добавлено через 26 секунд Определение знака зодиака по дате рождения на...

Определение знака зодиака по дате рождения
Вопщем то я написал прогу, но препод говорит что она не эффективная... :( Снизу прикрепил то, что...


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

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