c switch



Оператор switch в c

Автор Strelok задал вопрос в разделе Другие языки и технологии

C++ оператор SWITCH и получил лучший ответ

Ответ от Николай Веселуха[гуру]
// и так работает.. .
#include <iostream>
using namespace std;
int main() {
    unsigned long long n = 18446744073709551615;
    switch (n) {
        case 18446744073709551615: cout << "yes!"; break;
        default: cout << "no!";
    }
    cin.get();
    return 0;
}

Ответ от Александр Пожарский[гуру]
Нет, т. к. char *s - это "область памяти" (упрощённо можно считать динамическим массивом) , а с такими объектами C++ switch не работает (вроде он работает только с приводимыми к числовым типам)

Ответ от =Serge=[гуру]
Учебник откройте, наконец! Только тип интегер и приводимые к нему enum и char !
с. 119 Р. Лафоре - азбуки для новичков: c switch
Так как у вас список строк, по-видимому ограничен, нужно просто завести 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];

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: C++ оператор SWITCH
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*