Оператор switch в c
Автор Strelok задал вопрос в разделе Другие языки и технологии
C++ оператор SWITCH и получил лучший ответ
Ответ от Николай Веселуха[гуру]
Оператор switch в C и C++ работает исключительно с целочисленными типами данных, а также с типами, которые к ним приводятся, например char и enum. Использовать строки или указатели char * в switch нельзя, поскольку это не числовые объекты, а области памяти. При этом стандарт полностью поддерживает и крупные целые типы, такие как unsigned long long, которые корректно обрабатываются в блоках case. Если вам необходимо организовать ветвление по строковым значениям, правильным решением будет завести перечисление enum для вашего ограниченного списка. Переключаться нужно по переменной этого enum, а для вывода текстового представления использовать соответствующий массив строк, обращаясь к нему по индексу.
Нет, т. к. char *s - это "область памяти" (упрощённо можно считать динамическим массивом) , а с такими объектами C++ switch не работает (вроде он работает только с приводимыми к числовым типам)
Учебник откройте, наконец! Только тип интегер и приводимые к нему enum и char !
с. 119 Р. Лафоре - азбуки для новичков:

Так как у вас список строк, по-видимому ограничен, нужно просто завести enum:
enum days_of_week { Sun,Mon,Tue,Wed,Thu,Fri,Sat};
и далее,
days_of_week day1;
....
day1 =Sun;
switch (day1)
{
case Sun:cout < < "YES!";break
...
;
}
const int MAX =12;
const int DAYS=7;
Создавая массив строк char days [ DAYS ][ MAX ] =
{ "Sunday",..."Saturday"};
можно их печатать :
cout < <" Now :" < < days[day1];
Какие есть операторы выбора в C++ ?и как они работают
В C++ выбор пути выполнения задают if, switch и условный оператор ?:. В if и switch выражение в
подробнее...
C++ оператор Switch-case
Судя по "коду" у вас просто бардак в голове: переменная j которую вы не используете, cout <<
подробнее...
C++: оператор SWITCH-CASE
>а можно ли одному CASE задать диапазон чисел
нет, только если знать значения, которые
подробнее...
как начать программировать на С++ ?
Среда разработки обычно лишь создаёт определённые удобства.
Но такие визуальные среды как
подробнее...
Роутер
WiFi роутер D-Link DIR-300
При подключении к сети Интернет по технологии Ethernet,
подробнее...
C++. В операторе switch нельзя разве использовать case x? а x пробежать в цикле for?
все ветвления приводят к сбросу конвейера процессора. - ну да, надо в языке учитывать реализацию
подробнее...
Оператор return в СИ
Оператор return возвращает то, что ты укажешь ему.
Оперируют в большинстве только со
подробнее...
Visual Studio C# - Остановить выполнение кода, какой нужен оператор
В делфи процедура exit не останавливает выполнение кода, а осуществляет выход из процедуры или
подробнее...
Можно ли сделать оператор сложения двух массивов в С++ ?
//Вот примерно подкорректировал под данную задачу:
#include <iostream>
#include
подробнее...
ЧТО ТАКОЕ ОПЕРАТОРЫ В ИНФОРМАТИКЕ ДОСТУПНО
То же, что и в алгебре.
Вот операторы: +, -*, /. Вы можете объяснить, что они
подробнее...
Программа для решения примеров C++
Напиши рекурсивную функцию, принимающую строку, которая проверяет, не является ли переданная строка
подробнее...
Какое качество лучше HDTVRip или DVDRip?
CAMRip (CAM)
Иногда ошибочно помечают как Screen (SCR). Так называемая "экранка" или "тряпка".
подробнее...