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

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

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

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

12.07.2013, 22:09. Просмотров 834. Ответов 15
Метки нет (Все метки)

Имеется структура 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++
как вывести правильно чтобы правильно показывало Например если: у пользователя 600 очков показывает букву D- или же 1400очков ...

Как правильно записать условие? - C++
Есть некоторая функция которая берёт данные из файла и сравнивает их. std::string result_left, result_right, result_itog=&quot;?&quot;; ...

Как правильно записать условие - C++
#include &lt;iostream&gt; #include &lt;windows.h&gt; //#include &lt;ctime&gt; #include &lt;cmath&gt; using namespace std; int main () { ...

как правильно в программке записать условие нахождения бесконечности? - C++
в примере y=exp(x)/x, где x принимает значения от -6 до + 1 c шагом 1 необходимо определить при каких x функция y=0 и бесконечности. ...

Как правильно записать условие "пока в массиве есть элемент, равный 2"? - C++
условие такое: пока в МАССИВЕ есть число 2, делать: ... ... while (2 in mas) - есть что-то типа этого?

Как записать условие - C++
Сижу и туплю. Как мне записать условие в 80 строке, чтобы если к примеру в фале записано: 3 2 4 1 2 7 то условие не...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.07.2013, 22:15 #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  [ТС] #3
Цитата Сообщение от Thinker Посмотреть сообщение
Код C++
1
if (( pro[i].price >= pr[0].price )&&( pro[i].price <= pr[1].price ))
pr[0], pr[1] это массив а не структура, который вводит пользователь
Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:32 #4
Ghoster, а что за ошибка?
можно увидеть код?
Thinker
Эксперт C++
4225 / 2199 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.07.2013, 22:33 #5
Цитата Сообщение от Ghoster Посмотреть сообщение
pr[0], pr[1] это массив а не структура, который вводит пользователь
а, не увидел, что pro и pr. нужен код целиком.
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:37  [ТС] #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
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:40 #7
Ghoster, можно весь код?
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:41  [ТС] #8
Цитата Сообщение от Denisqwwq Посмотреть сообщение
Ghoster, а что за ошибка?
можно увидеть код?
Не могу! Это мой курсач. Учитель просто прошаренный, если будет искать, Я потом не докажу, что это мой код
Denisqwwq
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:47 #9
Ghoster,
C++
1
pr[1]
какое в себе хранит значение?
Если его вводит пользователь, то скиньте этот кусок.
Ghoster
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:50  [ТС] #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
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:53 #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  [ТС] #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
38 / 32 / 1
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 23:03 #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  [ТС] #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 #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
12.07.2013, 23:10
Привет! Вот еще темы с ответами:

Как записать условие?? - C++
необходимо что бы проверялось условие на возрастание последовательности и на то что если n&gt;а15 то завершение программы!!!! Вот что я...

Как задать правильно условие??? - C++
Во введенных массивах найти последовательность максимальной длины из элементов, расположенных в порядке возрастания. Как правильно...

Как правильно задать условие? - C++
Интересует 14 строчка. Нужно задать условие, что при вводе Y &amp;&amp; y исполнялось всё остальное. Как правильно это сделать\оформить? ...

Как правильно перегрузить оператор [] = - C++
вот например в классе хранится массив, и допустим я хочу елементу массива в этом классе присвоить другое значение, тоесть так, class...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
12.07.2013, 23:10
Ответ Создать тему
Опции темы

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