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

switch и while

28.01.2022, 03:14. Показов 1814. Ответов 16
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
1. Вводится целое число, если это цифра, то определить четная она или нет, а если число, то определить попадает ли оно в диапазон от 10 до 100, если нет, то выдать соответствующее сообщение. (с помощью switch)

2. Программа выводит числа от двадцати до пятидесяти с интервалом в 5 единиц и считает их сумму.(с помощью while)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.01.2022, 03:14
Ответы с готовыми решениями:

Составить программу с обязательным применением оператора switch либо используя комбинацию операторов switch и if
Выполнить непредусмотренные правилами языка С++ арифметические операции «×» – умножить и «:» – разделить. В качестве исходных данных...

Как сделать чтобы Switch работал в другом Switch'e?
Как сделать что бы Switch работал в другом Switch'e? Вот допустим выбираем один пункт и в зависимости от выбранного нами пункта последующие...

Switch . Как присвоить переменной значение из Switch в default
Добрый день подскажите как реализуется данный код . Как взять значение switch если выпал default ? public int Parse() { int...

16
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
28.01.2022, 03:49
user3289749283,
а какая разница между цифрой и числом? Число это цепочка из цифр, знака "+/-" и разделителя на целую и дробную часть
Цитата Сообщение от user3289749283 Посмотреть сообщение
Вводится целое число, если это цифра
это как?
Цитата Сообщение от user3289749283 Посмотреть сообщение
а если число
А это как?
1
Заблокирован
28.01.2022, 06:02
> Экстрасенс MODE ON
Цитата Сообщение от user3289749283 Посмотреть сообщение
Вводится целое число, если это цифра
Число натуральное. Если число меньше 10, то оно автоматом считается цифрой
> Экстрасенс MODE OFF
0
 Аватар для YUEN HOIFEF
252 / 185 / 47
Регистрация: 31.01.2021
Сообщений: 934
28.01.2022, 06:02
Вводится целое число, если это цифра, то ...
По любому имеется ввиду: Если это число состоит из одной цифры, то...
0
1 / 1 / 0
Регистрация: 28.01.2022
Сообщений: 56
28.01.2022, 06:55  [ТС]
Цитата Сообщение от Mikl___ Посмотреть сообщение
user3289749283,
а какая разница между цифрой и числом? Число это цепочка из цифр, знака "+/-" и разделителя на целую и дробную часть
это как?А это как?
Да
Цитата Сообщение от user3289749283 Посмотреть сообщение
если это цифра
- это 0 - 9
Цитата Сообщение от user3289749283 Посмотреть сообщение
а если число
- а это от 10 и далее
0
Заблокирован
28.01.2022, 07:50
Лучший ответ Сообщение было отмечено user3289749283 как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main(){
    int num = 0;
    do{
        if (num < 0)
            cout << "Wrong enter, please, trye again." << endl;
        cout << "Enter natural number : ";
        cin >> num;
    }while(num < 0);
    if (num < 10)
        cout << "Your input is digit." << " It is " << (num % 2 ? "odd." : "even") << endl;
    else if (num < 101)
        cout << "Number <" << num << "> in range [10,100]";
    else
        cout << "Number <" << num << "> greater than 100. (C)Captain Obviousness.";
}
1
1 / 1 / 0
Регистрация: 28.01.2022
Сообщений: 56
28.01.2022, 07:58  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
using namespace std;
int main(){
    int num = 0;
    do{
        if (num < 0)
            cout << "Wrong enter, please, trye again." << endl;
        cout << "Enter natural number : ";
        cin >> num;
    }while(num < 0);
    if (num < 10)
        cout << "Your input is digit." << " It is " << (num % 2 ? "odd." : "even") << endl;
    else if (num < 101)
        cout << "Number <" << num << "> in range [10,100]";
    else
        cout << "Number <" << num << "> greater than 100. (C)Captain Obviousness.";
}
Спасибо!
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
28.01.2022, 12:23
SmallEvil,
Цитата Сообщение от user3289749283 Посмотреть сообщение
с помощью switch
0
Заблокирован
28.01.2022, 13:19
Цитата Сообщение от Yetty Посмотреть сообщение
с помощью switch
Видел я, строить костыль на и без того глупой задаче ?
Можете написать свой вариант, если хотите.

Добавлено через 4 минуты
user3289749283, если понадобится обязательное присутствие конструкции switch.

Заведите переменную состояния, их у вас 3 (или 4, по желанию).
Но это лишь доп. обвязка над условиями (if) = нагромождение кода.
1
848 / 651 / 323
Регистрация: 24.02.2017
Сообщений: 2,297
28.01.2022, 18:43
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <cmath>
using namespace std;
 
int main(){
    int n;
 
    cin >> n;
    switch ((int)(log10(n*1.) + 1)) {
    case 1: cout << (n % 2==0 ? "chet" : "nchet");
        break;
    case 2: cout << "yes";
        break;
    case 3: cout << (n > 100 ? "no" : "yes");
        break;
    default: cout << "no";
    }
    return 0;
}
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
28.01.2022, 19:11
Лучший ответ Сообщение было отмечено user3289749283 как решение

Решение

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
#include <iostream>
using namespace std;
 
int main()
{
    int n;     
    cout << "Integer  n=";  cin >> n;  
    
    switch (n) 
    {
        case 0 ... 9:
        {
            switch (n%2)
            {
                case 0:
                {
                    cout << "1-digits even\n";
                    break;
                }    
                case 1:
                {
                    cout << "1-digits odd\n";
                    break;
                }
            }
            break;
        }       
        case 10 ... 100:
        {
            cout << "in range [10,100]\n";
            break;
        }    
        default: 
            cout << "Other\n";
    }        
     
system("pause");
return 0;
}


user3289749283, для второй задачи создайте отдельную тему
1
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
28.01.2022, 23:57
Цитата Сообщение от user3289749283 Посмотреть сообщение
Программа выводит числа от двадцати до пятидесяти с интервалом в 5 единиц и считает их сумму.(с помощью while)
20+25+30+35+40+45+50=?
20+50=25+45=30+40=70
70*3+35=245 для чего писать программу? Это как гвозди микроскопом заколачивать.
0
Заблокирован
29.01.2022, 00:05
Цитата Сообщение от Mikl___ Посмотреть сообщение
=245 для чего писать программу?
это что бы не задеть тонкую психику учащихся миллиардами вычислений
а коддзен - нужно постигать по плану )

Добавлено через 1 минуту

Не по теме:

Mikl___, заметил сколько желающих наворотить switch над условиями ? ))))



Добавлено через 51 секунду
Yetty,
Цитата Сообщение от Yetty Посмотреть сообщение
case 0 ... 9:
Это не С++. Не вводите людей в заблуждение !
0
Ушел с форума
Автор FAQ
 Аватар для Mikl___
16371 / 7683 / 1080
Регистрация: 11.11.2010
Сообщений: 13,757
29.01.2022, 00:16
SmallEvil,
я не очень силен в С++, но если вот так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
switch (n) 
    {
        switch (n<10)
        case 0, 2, 4, 6, 8
               cout << "digit even\n";
                    break;
               default
               cout << "digit odd\n";
                    break;
        switch (n>100)
            cout << "Other\n";
            break;
        default 
            cout << "in range [10,100]\n";
     }
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
29.01.2022, 00:38
SmallEvil, т.е. это расширение компилятора ? у Вас предложенный код не работает ?
0
Заблокирован
29.01.2022, 04:35
Yetty, да, эта конструкция расширения. Но это не стандарт языка.
Нет никаких гарантий, что в след версиях (других компиляторах) компиляторов такие конструкции будут поддерживаться.

Цитата Сообщение от Yetty Посмотреть сообщение
у Вас предложенный код не работает ?
Это точно не будет работать с компиляторами MSVC.
Используя такие "фичи", делаете код привязанным к конкретным компиляторам, вплоть до их версии.

Добавлено через 2 минуты

Не по теме:

p.s Yetty, это уже не раз обсуждалось на форуме, удивительно что вы этого не знаете.



Добавлено через 53 секунды

Не по теме:

вспомнил, даже в gcc это расширение появилось не сразу

1
1 / 1 / 0
Регистрация: 28.01.2022
Сообщений: 56
29.01.2022, 05:50  [ТС]
Цитата Сообщение от Mikl___ Посмотреть сообщение
switch (n)
    {
        switch (n<10)
        case 0, 2, 4, 6, 8
               cout << "digit even\n";
                    break;
               default
               cout << "digit odd\n";
                    break;
        switch (n>100)
            cout << "Other\n";
            break;
        default
            cout << "in range [10,100]\n";
     }
Цитата Сообщение от Yetty Посмотреть сообщение
#include <iostream>
using namespace std;
int main()
{
    int n;    
    cout << "Integer  n=";  cin >> n;  
switch (n)
    {
        case 0 ... 9:
        {
            switch (n%2)
            {
                case 0:
                {
                    cout << "1-digits even\n";
                    break;
                }    
                case 1:
                {
                    cout << "1-digits odd\n";
                    break;
                }
            }
            break;
        }      
        case 10 ... 100:
        {
            cout << "in range [10,100]\n";
            break;
        }    
        default:
            cout << "Other\n";
    }        
system("pause");
return 0;
}
Цитата Сообщение от повар1 Посмотреть сообщение
#include <iostream>
#include <cmath>
using namespace std;
int main(){
    int n;
cin >> n;
    switch ((int)(log10(n*1.) + 1)) {
    case 1: cout << (n % 2==0 ? "chet" : "nchet");
        break;
    case 2: cout << "yes";
        break;
    case 3: cout << (n > 100 ? "no" : "yes");
        break;
    default: cout << "no";
    }
    return 0;
}
спасибо!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
29.01.2022, 05:50
Помогаю со студенческими работами здесь

Рефакторинг switch внутри switch в static классе
Добрый день. Подскажите, как корректно обойти конструкцию switch case внутри switch case в статическом классе. Наткнулся на stackoverflow...

Подключить switch к другому switch
Ребята у меня такая просьба. У меня сеть на 10 компьютеров они все подключены через switch, но мне надо к этому switch подключить еще один...

Power Switch и Reset Switch
Здравствуйте. Покажите мне пожалуйста на этой материнской плате где находится power switch пин и reset switch... Благодарю от всей души.

Изменить cell.accessorytype тип на тип Switch (с кнопкой Switch)
Добрый день! 1) не могу понять как сделать кастомный тип ячейки в tableview что бы в нем был обычный switch (стандартный). Как сделано в...

Поместить switch в switch
Всем привет. Есть работающий код который обрабатывает строку GET и берет от туда данные Вот урл doneck.site.com/repetitory/english/zno/ ...


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

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru