С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 169
#1

Можно ли сравнивать строковые литералы? как правильно это сделать? - C++

17.06.2014, 12:31. Просмотров 369. Ответов 7
Метки нет (Все метки)

надо сравнить введенный строковый литерал с одним из доступных.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
int main() {
setlocale(0,"");    
    
    char const s =15;
    char string[s];
    
    cout    << "введите слово: ";
    gets(string);
    
    cout    <<"вот ваше слово:  ";
    cout    << string;
    
if(string == "квадрат") 
cout  << "Нарисовать квадрат."
 
}
можно ли так сравнивать массивы? или обязательно поэлементно каждый символ сравнивать(каждую ячйку памяти.)
Еще надо совет. Я созlаю переменную choise[80] в которой не указываю размер. в эту переменную я и буду записывать значение с клавиатуры и потом сравнивать в if с неким значением. Так можно поступать?
C++
1
2
3
4
5
6
7
8
9
char choise[80];
 
cout<<"Enter yout choise:  ";
gets(choise);
 
if(choise[80] == "квадрат")
cout << 'bl-bla-bla";
 
.....
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2014, 12:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Можно ли сравнивать строковые литералы? как правильно это сделать? (C++):

Строковые литералы, не пойму как реализовать - C++
В произвольно взятом предложении вывести на экран все слова, начинающиеся на гласную букву.

Строковые литералы. Ошибки - C++
Почему в этой программе ошибки? Если префиксы u и U убрать, то программа все равно не компилируется wchar_t title = L&quot;Chief Astrogator&quot;;...

нужно создать таблицу из 3 строк и 4 столбцов и заполнить её (любой информацией,это неважно) . Как это можно сделать ? - C++
Здравствуйте.У меня возникла проблема. Помогите пожалуйста!Модуль в понедельник , про таблицы ничего не рассказывали , а преподаватель...

Как лучше это сделать?. а главное, как правильно? (Информационная система «Железнодорожный вокзал») - C++
Ситуация следующая... Есть задание курсовой работы: 11. Информационная система «Железнодорожный вокзал». Информация: рейсы — номер...

Выяснить можно ли с поля (k,l) одним ходом ферьзя попасть на поле(m,n). Если нет, то выяснить, как это можно сделать за два хода - C++
Поле шахмотной доски определяеся парой натуральных чисел, каждая из которых не превосходит восьми: первое число номер вертикали (при счете...

как можно сделать это? если вообще возможно (не задача) - C++
есть задача, на двумерный массив... вывел массив 5х5 с рандомными числами, нужно найти числа локального минимума, т.е. чтоб число было...

7
kylroma
Одессит
204 / 75 / 23
Регистрация: 30.12.2013
Сообщений: 276
Записей в блоге: 1
Завершенные тесты: 2
17.06.2014, 12:37 #2
C++
1
choise[80] == "квадрат"
тут сравнивается 80-й элемент массива. Так неправильно.
0
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 169
17.06.2014, 12:39  [ТС] #3
Код C++
char const size = 80;
--//--
--//--
choise[size] == "квадрат"

а так?
0
kylroma
Одессит
204 / 75 / 23
Регистрация: 30.12.2013
Сообщений: 276
Записей в блоге: 1
Завершенные тесты: 2
17.06.2014, 12:43 #4
Сейчас напишу. Но сравнивается вот так, на сколько я знаю.
C++
1
choise[i] == 'к'
0
Croessmah
Ушел
Эксперт CЭксперт С++
13558 / 7708 / 872
Регистрация: 27.09.2012
Сообщений: 18,996
Записей в блоге: 3
Завершенные тесты: 1
17.06.2014, 12:43 #5
Цитата Сообщение от MMt Посмотреть сообщение
или обязательно поэлементно каждый символ сравнивать
угу
Цитата Сообщение от kylroma Посмотреть сообщение
тут сравнивается 80-й элемент массива.
причем с указателем
Цитата Сообщение от MMt Посмотреть сообщение
choise[size] == "квадрат"
выход за пределы + сравнение символа с указателем
0
uglyPinokkio
326 / 229 / 41
Регистрация: 30.05.2014
Сообщений: 682
17.06.2014, 12:55 #6
Цитата Сообщение от MMt Посмотреть сообщение
надо сравнить введенный строковый литерал с одним из доступных.
Если C-way то strcmp, strncmp и иже с ними.

http://cppstudio.com/post/707/
0
MMt
0 / 0 / 0
Регистрация: 29.04.2014
Сообщений: 169
17.06.2014, 13:05  [ТС] #7
точно.... спасибо. Знакомая функция, на позапрошлом уроке проходили.. слишком много инфы и с головы вылетело.
0
gazlan
3133 / 1909 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
17.06.2014, 17:04 #8
Цитата Сообщение от MMt Посмотреть сообщение
сравнить введенный строковый литерал с одним из доступных
Правильный способ сравнения вашей строки с предварительно заданным набором - использование дерева ключей.
0
17.06.2014, 17:04
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.06.2014, 17:04
Привет! Вот еще темы с ответами:

Как правильно вводить строковые массивы из файла? - C++
меня интересуют различные способы ввода текстовой строки из файла на компьютере с последующей обработкой. не откажусь от примеров кода и...

Найти НОК и НОД , и что бы можно было ввести до 10 чисел , как это сделать на с++? - C++
Здравствуйте , мне нужно найти НОК и НОД , и что бы можно было ввести до 10 чисел , как это можно реализовать на языке С++?

Как можно сравнивать в структуре числа и выводить на экран по возрастанию, если структура находится в файле? - C++
Как можно сравнивать в структуре числа и выводить на экран по возрастанию, если структура находится в файле?

Друзья, подскажите, говорят, что можно поля класса инициализировать в момент объявления класса. Как это сделать? - C++
Скажу сразу, а то сейчас начнется, что я прекрасно понимаю, что поля класса при объявлении инициализировать нельзя. Можно конструктором при...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.