С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 20.02.2018
Сообщений: 8
1

Сравнение типа char

21.05.2018, 23:05. Показов 568. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
есть функция, которая получает значение класса, и сравнивает его с вводимым пользователем значением:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
void Library::find_book(){
    char n_Book[30];
    bool find = false;
    cout << "Название книги: "; cin.ignore(numeric_limits<streamsize>::max(), '\n'); cin.getline(n_Book, 30);
    list<Book>::iterator it = lib.begin();
    for (; it != lib.end(); it++) {
        if (it->getName() == n_Book[30]) {
            find = true;
            cout << *it;
            break;
        }
    }
    if (!find) cout << "Книга не найдена\n" << endl;
}
в 7 строке работа не корректная, полученный результат getName() и введенный n_Book всегда равны, что бы не было введено. помогите разобраться

Добавлено через 1 час 31 минуту
C++
1
(it->getName() == n_Book[30])
Нашел что данная строка сравнивает адреса, как в таком случае сделать сравнение?
C++
1
(strcmp(it->getName(), n_Book) == 0)
не срабатывает, пишет:
argument of type "char" is incompatible with parameter of type "const char *"
Error C2664 'int strcmp(const char *,const char *)': cannot convert argument 1 from 'char' to 'const char *'


Добавлено через 7 минут
Все разобрался, метод просто константный нужно было сделать.
Спасибо всем за ответы, так сказать, сам спросил сам ответил)) Можно закрывать тему
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2018, 23:05
Ответы с готовыми решениями:

Сравнение массивов типа Char
У меня есть структура. Мне нужно проверит, (sportsmens.Sport==&quot;swimming&quot;); sportsmens.Sport -...

Сравнение строки в структуре с переменной типа char
Есть некая функция Х которая возвращает кол-во строк структуры Poezda a, строка a.StNazn в которой...

Условие типа if( масив типа char[x] [y] != переменная типа char) не срабатывает
Создал функцию ChangeWay(). Все, кроме if(map !=ar) (обе переменные типа char) работает...

Аргумент типа (const char*) несовместим с параметром типа (char*). Как исправить?
#include &quot;Table.h&quot; #include &quot;Contour.h&quot; #include &quot;TwoShape.h&quot; #include &lt;iostream&gt; int...

1
Модератор
Эксперт по электронике
8950 / 6716 / 921
Регистрация: 14.02.2011
Сообщений: 23,708
21.05.2018, 23:31 2
Цитата Сообщение от Golovanov Danil Посмотреть сообщение
char n_Book[30];
Цитата Сообщение от Golovanov Danil Посмотреть сообщение
n_Book[30]
этак за пределы массива выходишь
Цитата Сообщение от Golovanov Danil Посмотреть сообщение
strcmp
это строки сравниваются, а вопрос про char сиречь число
0
21.05.2018, 23:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.05.2018, 23:31
Помогаю со студенческими работами здесь

Как полю класса типа char* присвоить значение типа *char
Проблема в строчке 46 (не пинайте сильно за формат кода и за говнокод) #include &quot;stdafx.h&quot; ...

Аргумент типа const char* несовместим с параметром типа char* в классе
Данную ошибку находит в 74 - 76 строках, не могу понять что не так. #include &lt;iostream&gt; #include...

Аргумент типа char (*)[1000] несовместим с параметром типа char**
Здравствуйте! Есть вот такая структура: #define max 1000 struct expr { char s; int...

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

Аргумент типа char** не совместим с параметром типа const char*
Программа должна позволять заносить в структуру данные и выводить на экран информацию о поездах,...

Аргумент типа char несовместим с параметром типа char*
В задании требуется написать программу с использованием самостоятельно сделанных модулей, которая...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru