Форум программистов, компьютерный форум, киберфорум
Наши страницы
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Iron Brain
2 / 2 / 0
Регистрация: 09.11.2014
Сообщений: 124
1

Преобразовать фрагмент кода с использованием switch

27.01.2015, 21:35. Просмотров 862. Ответов 3
Метки нет (Все метки)

Подскажите пожалуйста, как фрагмент данного кода записать с использованием switch? Только начал проходить данную тему и смог записать условие только с использованием while, никак не разберусь какую константу надо писать после case?
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
while (sum >= 500){
        ++five_hundred;
        sum -= 500;
    }
 
    while (sum >= 100){
        ++one_hundred;
        sum -= 100;
    }
 
    while (sum >= 50){
        ++fifty;
        sum -= 50;
    }
 
    while (sum >= 10){
        ++ten;
        sum -= 10;
    }
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.01.2015, 21:35
Ответы с готовыми решениями:

Объясните фрагмент кода
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <string.h> #include <locale.h> ...

Объясните фрагмент кода
У нас есть матрица 4х4 мы делаем поворот на 90 градусов влево Объясните как работает код p = N...

Поясните фрагмент кода
Всем привет! Мой вопрос достаточно странный, но ответ на него я нигде не нашел, итак как правильно...

Что делает приведенный фрагмент кода
Что делает следующий фрагмент кода и почему? void foo(void) { unsigned int a = 6; int b...

Что выведет на консоль следующий фрагмент кода
$11. Что выведет на консоль следующий фрагмент кода: (обоснуйте ответ) unsigned char a = 255;...

3
OlegKri
26 / 25 / 8
Регистрация: 19.01.2015
Сообщений: 84
27.01.2015, 23:41 2
в case константное выражение. можно писать case 1: case 2: case 3:..... но это не разумно в данном случае. имхо
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// форма записи оператора множественного выбора switch
switch (/*переменная или выражение*/)
 {
 case /*константное выражение1/*:
 {
 /*группа операторов*/;
 break;
 }
 case /*константное выражение2*/:
 {
 /*группа операторов*/;
 break;
 }
 //.    .    .
 default:
                {
                 /*группа операторов*/;
                }
 }
Добавлено через 2 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//в gcc есть дополнительная возможность: 
 
switch (value) 
{ 
 case 1...3: 
 //
 break; 
 case 4...6: 
 
 break; 
 default: 
// 
 break; 
}
if и while логичней
1
Iron Brain
2 / 2 / 0
Регистрация: 09.11.2014
Сообщений: 124
28.01.2015, 15:14  [ТС] 3
OlegKri, так и не понял какое константное выражение должно быть в данном случае.
Попробовал что-то сделать, но не получилось.
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    switch (sum){
 
    case 1:
            ++five_hundred;
            sum -= 500;
        break;
 
    case 2:
        ++one_hundred;
        sum -= 100;
        break;
 
    case 3:
            ++fifty;
            sum -= 50;
        break;
 
    case 4:
            ++ten;
            sum -= 100;
        break;
    }
Как сделать именно через switch, чтобы выполнялось условие, если sum больше либо равно 500, то five_hundred увеличивается на 1, а sum=sum-500?
0
Kerry_Jr
Эксперт PHP
2211 / 2007 / 940
Регистрация: 14.05.2014
Сообщений: 5,869
Записей в блоге: 1
Завершенные тесты: 5
28.01.2015, 15:19 4
Лучший ответ Сообщение было отмечено Iron Brain как решение

Решение

Цитата Сообщение от Iron Brain Посмотреть сообщение
Как сделать именно через switch, чтобы выполнялось условие, если sum больше либо равно 500
никак, switch с помощью case'ов не проверяет условие, а проверяет переменную на равенство числовому(!!!) значению, записанному после case'a.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.01.2015, 15:19

Преобразовать число в его строковое представление через switch
диапазон -99...99 пример 32- тридцать два я вот так делал.но выдаёт ошибки.можете указать в чем...

Минимизации размера кода в типовой схеме с операторами switch / case
Здравствуйте! Для минимизации размера кода прошу помочь как сделать чтобы типовая схема с...

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


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

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

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