Форум программистов, компьютерный форум CyberForum.ru

Конструкция switch - магия какая-то - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Считать информацию из файла в массив структур http://www.cyberforum.ru/cpp-beginners/thread704076.html
Здравствуйте! Выполняю упражнение из книги Прата "С++ язык" Суть в том, что нужно из файла считать определенное количество элементов (количество указано в самом начале файла), и записать эти элементы в каждый элемент структуры patron. А затем вывести все эти элементы. Чтобы вам было проще разбираться. Файл file_69upr.txt, его содержимое 4 Sam Stone 2000
C++ Помощь с функцией Нужно написать функцию, которая делает возможным приоритет операций для данной программы (т.е. использование скобок). Листинг: #include <iostream> #include <stdlib.h> #include <string.h> #include <cmath> using namespace std; const int MaxLength = 10; http://www.cyberforum.ru/cpp-beginners/thread704019.html
Ввод данных в объект string из потока C++
Знаю что можно сделать так: #include <strstream> ... char str = ""; ostrstream ostr(str, sizeof(str)); ostr << 21; ostr << ":"; ostr << 15; ostr << ":"; ostr << 57;
[Объектно-ориентированное программирование] Разработка основы класса C++
Доброго времени суток. Есть такое задание, не могу разобраться. Разработать структуру элементов данных класса в виде динамической структуры данных (динамический массив, список, массив указателей). Разработать: * конструкторы для различных типов входных данных (без параметров, параметр-строка, параметр-массив), конструктор копирования (объект из объекта) и деструктор; * методы вывода и ввода...
C++ интеграл(неопределенный) http://www.cyberforum.ru/cpp-beginners/thread703954.html
Добрый вечер! не нашел подобной темы на форуме мне нужно посчитать неопределенный интеграл в С++ зада ча состоит в том что бы сгладить функцию ступеньки double F(double x_volna) { if ((0<=x_volna) && (x_volna<=0.5)) return 1; if (0.5<=x_volna)&& (x_volna<=1) return 0.0036; }
C++ Программа работает на Windows 7, но не работает на XP #include <locale> #include <windows.h> #include <iostream> #include <fstream> int main () { std::string wont; size_t i; size_t L; size_t result; подробнее

Показать сообщение отдельно
Nikitko_Cent
128 / 98 / 8
Регистрация: 27.10.2011
Сообщений: 627
Завершенные тесты: 2
21.11.2012, 11:38  [ТС]     Конструкция switch - магия какая-то
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Ну. Все просто:
Разберем пошагово конструкцию
C++
1
case 4: case 5: cout << "five, ";
Так как у нас в условии задачи "нечетную цифру не меньше заданной", то четную (4) меньшую (4<5) мы пропускаем. (за этим они и в одной строке) Когда мы доходим до записи:
C++
1
case 4:
, которая у нас истинна, а следовательно все после нее выполняется до конца switch-a или break-а, вот и после нее все идущее начинает выполняться. А следом идет проверка
C++
1
case 5:
, на которую нам пофигу, так как она не конец switch-a и не break. Следовательно все далее выполняется.

А в первые строки
C++
1
2
        case 0: case 1: cout << "one, ";
        case 2: case 3: cout << "two, ";
тупа не заходим, так как не выполняется сравнение case-а.
Всё, разобрался, спасибо, я то думал будут проверяться все case'ы в любом случае
 
Текущее время: 15:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru