Форум программистов, компьютерный форум CyberForum.ru

Как правильно записать условие в оператор if - C++

Восстановить пароль Регистрация
 
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:09     Как правильно записать условие в оператор if #1
Имеется структура pro.
Надо пропустить в if те элементы структуры, которые находятся в промежутке между pr[0] и pr[1]
C++
1
 if (( pro[i].price >= pr[0] )&&( pro[i].price <= pr[1] )) //так пишет ошибку
???

pr[0] и pr[1] массив
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2013, 22:09     Как правильно записать условие в оператор if
Посмотрите здесь:

C++ Как записать условие??
Как задать правильно условие??? C++
Подскажите как записать условие C++
как правильно в программке записать условие нахождения бесконечности? C++
Как записать третье условие C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.07.2013, 22:15     Как правильно записать условие в оператор if #2
C++
1
if (( pro[i].price >= pr[0].price )&&( pro[i].price <= pr[1].price ))
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:27  [ТС]     Как правильно записать условие в оператор if #3
Цитата Сообщение от Thinker Посмотреть сообщение
Код C++
1
if (( pro[i].price >= pr[0].price )&&( pro[i].price <= pr[1].price ))
pr[0], pr[1] это массив а не структура, который вводит пользователь
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:32     Как правильно записать условие в оператор if #4
Ghoster, а что за ошибка?
можно увидеть код?
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.07.2013, 22:33     Как правильно записать условие в оператор if #5
Цитата Сообщение от Ghoster Посмотреть сообщение
pr[0], pr[1] это массив а не структура, который вводит пользователь
а, не увидел, что pro и pr. нужен код целиком.
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:37  [ТС]     Как правильно записать условие в оператор if #6
Цитата Сообщение от Ghoster Посмотреть сообщение
Сообщение от Thinker
Код C++
1
if (( pro[i].price >= pr[0].price )&&( pro[i].price <= pr[1].price ))
pr[0], pr[1] это массив а не структура, который вводит пользователь
Не связанный структурой

Добавлено через 1 минуту
Цитата Сообщение от Thinker Посмотреть сообщение
нужен код целиком.
C++
1
2
3
4
5
6
7
8
9
10
  cout<<"Enter the price gap in flomate g1-g2"<<endl;       
       for (int k=0; k<1; k++)
       cin>>pr[k];
       
       for (i=0; i<n; i++)
       {
         if (( pro[i].price >= pr[0] )&&( pro[i].price <= pr[1] ))
           {
            cout<<"Name: "           <<pro[i].name <<", ";
            cout<<"Existence: "      <<pro[i].exist<<", ";}}
Добавлено через 1 минуту
Цитата Сообщение от Denisqwwq Посмотреть сообщение
а что за ошибка?
303 C:\Users\123\Desktop\Áåçûìÿííûé32.cpp ISO C++ forbids comparison between pointer and integer
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:40     Как правильно записать условие в оператор if #7
Ghoster, можно весь код?
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:41  [ТС]     Как правильно записать условие в оператор if #8
Цитата Сообщение от Denisqwwq Посмотреть сообщение
Ghoster, а что за ошибка?
можно увидеть код?
Не могу! Это мой курсач. Учитель просто прошаренный, если будет искать, Я потом не докажу, что это мой код
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:47     Как правильно записать условие в оператор if #9
Ghoster,
C++
1
pr[1]
какое в себе хранит значение?
Если его вводит пользователь, то скиньте этот кусок.
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:50  [ТС]     Как правильно записать условие в оператор if #10
Цитата Сообщение от Ghoster Посмотреть сообщение
C++
1
2
3
4
5
6
7
8
9
cout<<"Enter the price gap in flomate g1-g2"<<endl; * * * 
* * * *for (int k=0; k<1; k++)
* * * *cin>>pr[k];
for (i=0; i<n; i++)
* * * *{
* * * * *if (( pro[i].price >= pr[0] )&&( pro[i].price <= pr[1] ))
* * * * * *{
* * * * * * cout<<"Name: " * * * * * <<pro[i].name <<", ";
* * * * * * cout<<"Existence: " * * *<<pro[i].exist<<", ";}}
вот же он! pr - char'ский массив
так создаётся структура:
C++
1
2
3
4
5
6
7
8
9
10
struct pro
{    
       char name[100];
       char exist[100];
       char price[100];
       char kolv[100];
       char srgod[100];
       char data_post[100];
       char rank[100];
};
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:53     Как правильно записать условие в оператор if #11
Ghoster, в таком случае
C++
1
pr[1]
не хранит в себе значение.

вот так попробуйте:
C++
1
2
for (int k=0; k<2; k++)
cin>>pr[k];
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 23:02  [ТС]     Как правильно записать условие в оператор if #12
Цитата Сообщение от Denisqwwq Посмотреть сообщение
вот так попробуйте:
Код C++
1
2
for (int k=0; k<2; k++)
cin>>pr[k];
А зачем мне лишний элемент массива?

Добавлено через 1 минуту
Цитата Сообщение от Denisqwwq Посмотреть сообщение
вот так попробуйте:
Код C++
1
2
for (int k=0; k<2; k++)
cin>>pr[k];
Всё равно ошибка!
Denisqwwq
 Аватар для Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 23:03     Как правильно записать условие в оператор if #13
Ghoster, нумерация в массиве идёт с 0.
В итоге вы получите элементы
C++
1
pr[0]
и
C++
1
pr[1]
или можете использовать такую запись:
C++
1
2
for (int k=0; k<=1; k++)
cin>>pr[k];
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 23:09  [ТС]     Как правильно записать условие в оператор if #14
Цитата Сообщение от Denisqwwq Посмотреть сообщение
Ghoster, нумерация в массиве идёт с 0.
В итоге вы получите элементы
Код C++
1
pr[0]
и
Код C++
1
pr[1]
или можете использовать такую запись:
Код C++
1
2
for (int k=0; k<=1; k++)
cin>>pr[k];
Да, Я знаю о нумерации.. Всё равно выдаёт ошибку в строке с if

Добавлено через 4 минуты
Всем спасибо, Кто помогал! Мне пришла идея создать новый массив и в него забросить структуру, а потом сравнить два массива!
soican
49 / 23 / 1
Регистрация: 16.11.2011
Сообщений: 329
Записей в блоге: 5
12.07.2013, 23:10     Как правильно записать условие в оператор if #15
я вот вижу
C++
1
2
3
4
5
6
for (int k=0; k<1; k++)
                 cin>>pr[k]; // pr[0] и всё - pr[1] не будет т.к. k<1 , а не <=
       
       for (i=0; i<n; i++) // а здесь исользуешь pr[1]
       {
         if (( pro[i].price >= pr[0] )&&( pro[i].price <= pr[1] ))
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.07.2013, 10:46     Как правильно записать условие в оператор if
Еще ссылки по теме:

C++ Как правильно перегрузить оператор [] =
Как правильно задать условие? C++
Как правильно записать условие? C++

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

Или воспользуйтесь поиском по форуму:
BigLow
55 / 55 / 2
Регистрация: 07.07.2013
Сообщений: 345
13.07.2013, 10:46     Как правильно записать условие в оператор if #16
Ghoster, поменяйте в структуре тип переменной
char price[100];
пусть она будет double. это более естественно. Цена - это число, а не массив

И вообще, почему в этой структуре все переменные - это строки из 100 элементов? Есть и другие типы.
C++
1
2
3
4
5
6
7
8
9
10
struct pro
{    
       char name[100];
       char exist[100];
       char price[100];
       char kolv[100];
       char srgod[100];
       char data_post[100];
       char rank[100];
};
Yandex
Объявления
13.07.2013, 10:46     Как правильно записать условие в оператор if
Ответ Создать тему
Опции темы

Текущее время: 07:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru