Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Чтение строки


Автор: Kafari 21.4.2010, 20:17
Здравствуйте! У меня совсем короткий вопрос.
Подскажите, пожалуйста, как написать програму, которая бы узнавала, что в строке написано. По какому принципу так делается? Мне нужно, чтобы по введенному названию месяца, переменной присваивалось соответствующее значение. То есть если с клавиатуры вводится "Апрель", m = 4.
Помогите!

Автор: GoldFinch 21.4.2010, 20:23
сравнивать.

Код

if(strcmp(str, "Апрель"))
     m = 4;

Автор: Kafari 21.4.2010, 21:26
Спасибо! То есть он поймет, если написать "Апрель" ? А кавычки не помешают?
 smile да-да, я чайник.

Автор: bsa 21.4.2010, 22:21
Kafari, строкой считается то, что внутри кавычек (это касается только исходного кода программы).

Автор: GoldFinch 21.4.2010, 22:25
Цитата(Kafari @  21.4.2010,  22:26 Найти цитируемый пост)
То есть он поймет, если написать "Апрель" ?

По хорошему надо сделать так чтобы сравнение не зависело от регистра ("Апрель", "апрель") и от пробелов в начале и конце строки (если такие есть).
Посмотрите функции для работы со строками в стандартной библиотеке С или С++.

Для сравнения большого числа строк, возможно есть смысл хранить образцы строк в массиве, и делать поиск по этому массиву.

Автор: yngwie19 21.4.2010, 22:55
а есть ли возможность в С++ работать с регулярными выражениями?

Автор: GoldFinch 21.4.2010, 23:04
yngwie19, да, используя соответствующие библиотеки, например в boost или std::tr1

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)