Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.12.2023, 01:21   #1
Kekerus
Новичок
Джуниор
 
Регистрация: 26.12.2023
Сообщений: 1
По умолчанию Как использовать в switch текстовую переменную?

Здравствуйте, я недавно только для себя открыл такое хобби как программирование, поэтому очень не опытен. Я хотел бы получить ответ на вопрос который не даёт мне покоя. Можно ли в конструкции switch case использовать текстовую переменную? Что я имею ввиду? Я хочу чтобы можно было в консоль ввести слово, и в зависимости от того какое ты слово введешь сработает та или иная функция программы. Но как это сделать? Сначала я пытался просто писать вместо цифр слова в case (Например: case hello, но быстро понял, что это не работает. Я надеюсь наконец то получить ответ на свой вопрос на этом форуме. Если кому то не до конца понятен вопрос, можете об этом писать в сообщении.
Kekerus вне форума Ответить с цитированием
Старый 26.12.2023, 06:40   #2
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 965
По умолчанию

Kekerus, нет, в case строковый литерал нельзя. Со строками есть как минимум два решения - через лесенку if , либо std::map<std::string, тут_цель_действия>
Алексей1153 вне форума Ответить с цитированием
Старый 26.12.2023, 13:39   #3
Steelcraft
Форумчанин
 
Регистрация: 13.03.2023
Сообщений: 111
По умолчанию

Цитата:
Сообщение от Kekerus Посмотреть сообщение
Можно ли в конструкции switch case использовать текстовую переменную?
Нет, в качестве меток case допускаются только целочисленные константы. Если нужна большая гибкость, рассмотрите возможность смены языка, например, на C#.
Steelcraft вне форума Ответить с цитированием
Старый 31.01.2024, 14:10   #4
gregbowers
Новичок
Джуниор
 
Регистрация: 22.01.2024
Сообщений: 3
По умолчанию

In many programming languages, the switch or case construct typically works with numerical values, not strings. However, you can achieve a similar outcome using if-else statements. For example, in JavaScript, you can compare a string variable using a series of if and else if conditions to execute different code blocks based on the user's input. This approach is widely applicable across programming languages.

Последний раз редактировалось BDA; 31.01.2024 в 15:04. Причина: Удаление ссылки
gregbowers вне форума Ответить с цитированием
Старый 07.03.2024, 09:57   #5
TyomaTmp
Новичок
Джуниор
 
Регистрация: 04.12.2023
Сообщений: 1
По умолчанию

Почему бы не использовать регулярное выражение.
А там по возвращению её значения вы считай, что знаете слово и тогда ваш метод с работой со switch вполне допустима
TyomaTmp вне форума Ответить с цитированием
Старый 07.03.2024, 10:55   #6
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 965
По умолчанию

TyomaTmp, не понятно, как регулярка тут сможет помочь
Алексей1153 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как использовать переменную из другого класса? Мaкс C# (си шарп) 4 22.06.2018 14:54
загрузка страницы в текстовую переменную DLev2 PHP 3 01.07.2015 20:20
HttpWebRequest.CookieContainer записать в текстовую переменную qwq C# (си шарп) 0 10.09.2013 21:28
Возможно ли загрузить в компонент Chromium текстовую переменную Skail Общие вопросы Delphi 2 04.06.2013 14:51
Можно ли использовать переменную как имя листа ? Sla27 Microsoft Office Excel 2 14.04.2012 17:42