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

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

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

сравение переменных типа char - C++

25.12.2011, 15:05. Просмотров 427. Ответов 5
Метки нет (Все метки)

Доброго времени суток, у меня возникла проблема...
Нужно ввести название товара, и что бы на экран вывелась информация об этом товаре
C++
1
2
3
4
5
6
7
8
9
10
11
    printf ("Search: ");
    scanf ("%s",&search);
    index=0;
    while (index<8) {
        if (base[index].tovar==search) {
            printf("Tovar: %s ",base[index].tovar);
            printf("Magazin: %s ",base[index].magazin);
            printf("Cost: %d\n",base[index].cost);
        index++;
        }
    }
мне кажется тут дело в сравнении переменных (они везде char), но в чем именно дело не могу понять
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.12.2011, 15:05
Здравствуйте! Я подобрал для вас темы с ответами на вопрос сравение переменных типа char (C++):

Суммирование 2-х переменных типа Char - C++
Снова такая проблема.... есть 2 переменные char x='1'; char y='2'; мне нужно получить переменную типа int z=12

Перевод переменных типа int в char - C++
как перевести отрицательную цифру интежер в чар?

Способы конкатенации переменных строкового типа и Char - C++
#include &lt;iostream&gt; #include &lt;windows.h&gt; using namespace std; int main() { char *_new = &quot;\\formats..&quot;; char...

При сложении переменных типа char выводится код символа - C++
Почему когда говоришь вывести символ &quot;а&quot; выводится &quot;А&quot; а когда просишь вывести &quot;а+b&quot; выводит значение 70 а не символ &quot;F&quot; с чем это...

Вывод переменных типа char: правильно выводится только первый символ - C++
Всем привет. Извиняюсь, если вопрос слишком уж нелепый, но не могу понять в чем суть... #include &lt;cstdio&gt; int main() { ...

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

5
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
25.12.2011, 15:08 #2
Может все таки,
C
1
scanf ("%s",search);
?!
0
Ree.exe
56 / 56 / 4
Регистрация: 01.08.2011
Сообщений: 141
25.12.2011, 15:08 #3
http://msdn.microsoft.com/en-US/library/e0z9k731(v=VS.80).aspx вот тут посмотри.
0
Dr.Urban
63 / 58 / 7
Регистрация: 14.12.2011
Сообщений: 193
25.12.2011, 15:11 #4
C++
1
if (base[index].tovar==search) {
я думаю надо использовать strcmp()
0
go
Эксперт С++
3586 / 1366 / 129
Регистрация: 16.04.2009
Сообщений: 4,527
25.12.2011, 15:13 #5
Цитата Сообщение от heyDude Посмотреть сообщение
if (base[index].tovar==search) {
Так делать нельзя, вы сравниваете указатели.

Добавлено через 36 секунд
Цитата Сообщение от heyDude Посмотреть сообщение
scanf ("%s",&search);
А здесь что вообще?
0
heyDude
0 / 0 / 0
Регистрация: 25.12.2011
Сообщений: 3
25.12.2011, 15:35  [ТС] #6
C++
1
2
3
4
5
6
7
8
9
10
11
    printf ("Search: ");
    scanf("%s",&search);
    index=0;
    while (index<8) {
        if (!strcmp(base[index].tovar, search)) {
            printf("Tovar: %s ",base[index].tovar);
            printf("Magazin: %s ",base[index].magazin);
            printf("Cost: %d\n",base[index].cost);
        }
        index++;
    }
Так все работает. спасибо. и инкремент надо было не в if а в while записать.

"&" я точно не знаю почему)) нам так препод сказал... это вроде взятия адреса переменной и записи значения по адресу этой переменной... надо по подробней по этому поводу почитать. Просто я всегда так делал все работает и я воспринимаю это как должное.
0
25.12.2011, 15:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.12.2011, 15:35
Привет! Вот еще темы с ответами:

Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной - C++
3 задача с++ Сколько значений переменных типа char можно записать в динамической памяти на место одной удаленной переменной типа int?...

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

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

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


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

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

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