Оператор 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 не работает (вроде он работает только с приводимыми к числовым типам)
Нет, т. к. char *s - это "область памяти" (упрощённо можно считать динамическим массивом) , а с такими объектами C++ switch не работает (вроде он работает только с приводимыми к числовым типам)
Ответ от =Serge=[гуру]
Учебник откройте, наконец! Только тип интегер и приводимые к нему 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];
Учебник откройте, наконец! Только тип интегер и приводимые к нему 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];
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: C++ оператор SWITCH