Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
archi20
0 / 0 / 1
Регистрация: 07.10.2012
Сообщений: 9
#1

Сравнение переменной со значением поля структуры - C++

07.10.2012, 18:26. Просмотров 1058. Ответов 6
Метки нет (Все метки)

Привет, не могу понять как все таки реализовать - есть структура
C++
1
2
3
4
5
6
7
8
9
struct spisok
{
    char naim[10];
 
};
 
...
 
spisok new[10];
заполняю к массив значениями char и ввожу к примеру свое значение
C++
1
2
char x;
cin>>x;
как сравнить, равно ли какое значение структуры x или нет? вечно выдает ошибку преобразования одного типа в другой
http://www.cyberforum.ru/cpp-beginners/thread68383.html
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.10.2012, 18:26
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сравнение переменной со значением поля структуры (C++):

Сравнение элементов массивов с значением
Добрый вечер. Элементы массива вводятся "пользователем" через консоль. Нужно...

Сравнение слова файла со значением массива
Помогите исправить ошибки.Сама задача такова найти в текстовом файле слова...

Написать функцию поиска структуры с заданным значением
Здравствуйте уважаемые программисты. Помогите пожалуйста с программой. ...

Управление значением переменной в бесконечном цикле извне
Здравствуйте. Подскажите, пожалуйста, какими способами можно изменять значение...

Изменение в файле записей с заданным значением поля
Написал прогу для заполнения определенных полей и создания текстового файла с...

6
doctor_lecter
281 / 154 / 30
Регистрация: 22.09.2012
Сообщений: 283
07.10.2012, 18:32 #2
char это один символ.
char* x = new char[10];
cin >> x; (Это плохой способ ввода, т.к. если ввести 10 и больше символов будет утечка)
и для сравнения строк воспользоваться функцией strcmp
1
archi20
0 / 0 / 1
Регистрация: 07.10.2012
Сообщений: 9
07.10.2012, 18:39  [ТС] #3
что-то моя программа крашится.
если использовать
C++
1
2
3
4
5
6
7
8
9
10
11
12
char* x;
gets(x);
 
 
...
for (int i = 0; i<n; i++)
{
if (strcmp(new[i].naim,q)==0)
        {
            cout<<"work";
        }
}
0
doctor_lecter
281 / 154 / 30
Регистрация: 22.09.2012
Сообщений: 283
07.10.2012, 18:44 #4
new не надо использовать в качестве имени, и для чего вам нужен x.
0
archi20
0 / 0 / 1
Регистрация: 07.10.2012
Сообщений: 9
07.10.2012, 18:47  [ТС] #5
перепутал не x , q

так а как сравнить тогда? если убрать new, то он не может определить идентификатор
0
doctor_lecter
281 / 154 / 30
Регистрация: 22.09.2012
Сообщений: 283
07.10.2012, 18:53 #6
не убрать new, а использовать другое имя.
и сравнивать как-то так
C++
1
2
3
4
5
6
7
8
char* q = new[10];
cin >> q;
spisok sp[10];
//...
if (strcmp(sp[0].naim, q)) {
//..
}
delete[] q;
1
archi20
0 / 0 / 1
Регистрация: 07.10.2012
Сообщений: 9
07.10.2012, 19:23  [ТС] #7
Спасибо, все работает, но интернет подсказал
C++
1
char* q = new char[10];
0
07.10.2012, 19:23
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.10.2012, 19:23
Привет! Вот еще темы с решениями:

Сравнение элементов структуры
Программа должна выводить количество машин каждой марки с структуры считанной с...

Сравнение составного структуры с integer
Возник вот какой вопрос. У меня задана структура: struct studinomer { struct...

Письменное сравнение данных в переменной
Решил закодить штуку, в которой будет сравниваться имя в переменной и...

Сравнение char переменной с символом
Здравствуйте, подскажите пожалуйста как сравнить char переменной с символом,...


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

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

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