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

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

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

Студворк — интернет-сервис помощи студентам
есть функция, которая получает значение класса, и сравнивает его с вводимым пользователем значением:
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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.05.2018, 23:05
Ответы с готовыми решениями:

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

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

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

1
Модератор
Эксперт по электронике
8979 / 6745 / 921
Регистрация: 14.02.2011
Сообщений: 23,859
21.05.2018, 23:31
Цитата Сообщение от Golovanov Danil Посмотреть сообщение
char n_Book[30];
Цитата Сообщение от Golovanov Danil Посмотреть сообщение
n_Book[30]
этак за пределы массива выходишь
Цитата Сообщение от Golovanov Danil Посмотреть сообщение
strcmp
это строки сравниваются, а вопрос про char сиречь число
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.05.2018, 23:31
Помогаю со студенческими работами здесь

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru