|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
||||||
Оператор switch со строками28.04.2017, 00:33. Показов 24069. Ответов 38
Метки нет (Все метки)
здравствуйте,как написать оператор выбора для string?
команда
0
|
||||||
| 28.04.2017, 00:33 | |
|
Ответы с готовыми решениями:
38
Cи++. Оператор switch. Оператор switch |
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|||||||
| 28.04.2017, 10:45 | |||||||
|
Я обычно когда нужно делать поиск по строке значения строю статическую (static) мапу. Кстати, именно std::map, а не std::unordered_map, т.к. последний контейнер также для сравнения требует линейного прохода по всей строке, в то время, как std::map может найти сравнение за логарифм. Тут, конечно, ещё и от данных всё сильно зависит. Добавлено через 2 минуты Кстати, для небольших строк можно использовать трюк с multi-character constant. И тогда можно использовать тот же switch с O(1) в лучшем случае.Добавлено через 8 минут Но это как ходить по лезвию ножа. Тем не менее, думаю знать про такой трюк полезно.
2
|
|||||||
|
1 / 1 / 0
Регистрация: 18.04.2017
Сообщений: 10
|
|
| 28.04.2017, 11:05 | |
|
Позвольте полюбопытствовать, а что это у Вас за задача такая?) У Вас что абстрактная фабрика 35 классов создаёт?)
Может всё-таки изначально можно сократить число используемых вариантов, спроектировав систему несколько по иному?
0
|
|
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
|
| 29.04.2017, 11:12 [ТС] | |
|
мне нужно создать класс картотека книг.может я действительно,придумала плохой алгоритм
0
|
|
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 29.04.2017, 11:17 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
|
| 29.04.2017, 11:25 [ТС] | |
|
хотела работать с файлами,но файлов получается очень много.т.к.авторов,разделы,издания я создаю отдельно в файлах.
Добавлено через 2 минуты я создаю много файлов,где содержится информация о книгах,а потом последовательно включаю это в программу.я уже поняла,что это не рационально.Не могли бы вы мне подсказать?как рациональнее сделать картотеку,чтобы по запросу книги вся информация о ней появлялась.есть идея насчет векторов,но я никогда с ними не работала Добавлено через 4 минуты мне надо на с++ и через классы
0
|
|
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 29.04.2017, 12:13 | ||
std::unordered_map<size_t, Book>, если по названию, тоstd::map<std::string, Book>Если несколько критериев, то std::vector<Book>/std::list(зависит от того как часто будут удалять инфу не с конца) и std::find + нужный компаратор.
0
|
||
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
|
| 29.04.2017, 12:32 [ТС] | |
|
да у меня несколько критериев,а как работать с векторами?я правильно понимаю,что это как цепочный массив?
0
|
|
|
1 / 1 / 0
Регистрация: 18.04.2017
Сообщений: 10
|
|
| 29.04.2017, 12:35 | |
|
И что, над этими книгами надо совершать 35 разных вариантов действий?
0
|
|
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
||||||
| 29.04.2017, 12:44 [ТС] | ||||||
|
нет не 35,у мы было просто 35 файлов stringовых,которые я хотела с помощью switch открывать и читать
а так всего нужно реализовать поиск и добавление книг но! мне нужно чтобы выводило всю информацию о книге,т.е. я хотела первоначально сделать цепочку файлов Добавлено через 1 минуту сейчас скину свой код по файлам Добавлено через 3 минуты
0
|
||||||
|
1 / 1 / 0
Регистрация: 18.04.2017
Сообщений: 10
|
|
| 29.04.2017, 13:36 | |
|
Ну свитч тут вообще не нужен) у Вас тела всех ифов одинаковые - выносите их в отдельную функцию, а аргументом - имя файла
0
|
|
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
|
| 29.04.2017, 13:40 [ТС] | |
|
это рациональная реализация этой задачи?
дальше же я буду делать тоже самое только с названиями книг,издательством Добавлено через 1 минуту у меня же стооолько файлов будет
0
|
|
|
1 / 1 / 0
Регистрация: 18.04.2017
Сообщений: 10
|
|
| 29.04.2017, 14:05 | |
|
Очень не рациональная) Файл, как хранилище - это для Вас принципиально? Субд использовать не хотите?
0
|
|
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
|
| 29.04.2017, 20:26 [ТС] | |
|
Не принципиально,учитель дал заданиея вот пытаюсь выполнить,.а что это?
0
|
|
|
1 / 1 / 0
Регистрация: 18.04.2017
Сообщений: 10
|
|
| 30.04.2017, 13:41 | |
|
Напишите, как именно звучит задание. И лучше не "своими словами", а в дословной редакции учителя)
0
|
|
|
0 / 0 / 0
Регистрация: 02.04.2017
Сообщений: 56
|
|
| 01.05.2017, 16:00 [ТС] | |
|
Картотека домашней билиотеки:выходные данные книги.картотека должна позволять
1.вывод книг по произвольному запросу (по автору,разделу,наличии) 2.поиск в уже выбранном подмножестве (с предыдущего запроса) 3.добавление удаление книги 4.редактирование(изменение параметра)
0
|
|
|
6 / 3 / 0
Регистрация: 19.03.2019
Сообщений: 157
|
|
| 19.03.2019, 13:30 | |
|
Вообще в C++ switch(){} работает только с целыми числами, но...
Ведь всегда можно сломать систему! Ведь строка состоит из символов, а у каждого символа - свой код (например, 27 - Esc)
0
|
|
|
Mental handicap
1246 / 624 / 171
Регистрация: 24.11.2015
Сообщений: 2,429
|
|
| 19.03.2019, 13:37 | |
|
0
|
|
|
1685 / 513 / 107
Регистрация: 17.05.2015
Сообщений: 1,524
|
|||||||
| 19.03.2019, 17:07 | |||||||
0
|
|||||||
|
Комп_Оратор)
|
||
| 19.03.2019, 17:25 | ||
|
Добавлено через 4 минуты
0
|
||
| 19.03.2019, 17:25 | |
|
оператор switch С++.Оператор switch. Оператор switch Оператор switch
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №4)
Maks 15.11.2026
Что-то я перемудрил с предыдущими версиями, в этот раз сделал всё проще, обратившись к функции "СтрокаЛатиницей" из типового общего модуля "СтроковыеФункцииКлиент".
В данной функции нет апострофов,. . .
|
BitTorrent (версия 4.3.9) и Меню Настройки
russiannick 15.11.2026
В меню Настройки можно отключить автоматическое обновление программы.
Карта этого меню приложена ниже.
Нужный пункт выделен красным.
Сервис
Настройки
Поведение
|
Транслитерация текста с кириллицы на латиницу (вариант №3)
Maks 15.11.2026
Обновленная версия предыдущей обработки.
Изменения коснулись букв: Ъ, Ы, Ь, Э, отображения которых зависят от положения реквизита "Транслитерация имён".
Изменено отображение буквы Й.
Добавлена. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|