Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
1

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

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

Author24 — интернет-сервис помощи студентам
Имеется структура pro.
Надо пропустить в if те элементы структуры, которые находятся в промежутке между pr[0] и pr[1]
C++
1
 if (( pro[i].price >= pr[0] )&&( pro[i].price <= pr[1] )) //так пишет ошибку
???

pr[0] и pr[1] массив
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.07.2013, 22:09
Ответы с готовыми решениями:

Как записать в оператор if условие x и y разного знака?
По заданию надо вычислить значение функции, используя условный оператор. В условии написано если x...

Как правильно записать условие?
Как записать If(C==) Что если елементы масива равны буквам?

Как правильно записать условие
#include &lt;iostream&gt; #include &lt;windows.h&gt; //#include &lt;ctime&gt; #include &lt;cmath&gt; using namespace...

как правильно записать условие
здраствуйте! народ помогите кто знает! есть запрос результатом есть количество записей которие...

15
Эксперт С++
4267 / 2241 / 203
Регистрация: 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 ))
0
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] это массив а не структура, который вводит пользователь
0
38 / 32 / 7
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:32 4
Ghoster, а что за ошибка?
можно увидеть код?
0
Эксперт С++
4267 / 2241 / 203
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
12.07.2013, 22:33 5
Цитата Сообщение от Ghoster Посмотреть сообщение
pr[0], pr[1] это массив а не структура, который вводит пользователь
а, не увидел, что pro и pr. нужен код целиком.
0
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
0
38 / 32 / 7
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:40 7
Ghoster, можно весь код?
0
0 / 0 / 0
Регистрация: 02.12.2012
Сообщений: 35
12.07.2013, 22:41  [ТС] 8
Цитата Сообщение от Denisqwwq Посмотреть сообщение
Ghoster, а что за ошибка?
можно увидеть код?
Не могу! Это мой курсач. Учитель просто прошаренный, если будет искать, Я потом не докажу, что это мой код
0
38 / 32 / 7
Регистрация: 01.06.2013
Сообщений: 117
12.07.2013, 22:47 9
Ghoster,
C++
1
pr[1]
какое в себе хранит значение?
Если его вводит пользователь, то скиньте этот кусок.
0
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];
};
0
38 / 32 / 7
Регистрация: 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];
0
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];
Всё равно ошибка!
0
38 / 32 / 7
Регистрация: 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];
0
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 минуты
Всем спасибо, Кто помогал! Мне пришла идея создать новый массив и в него забросить структуру, а потом сравнить два массива!
0
49 / 23 / 3
Регистрация: 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] ))
0
55 / 55 / 6
Регистрация: 07.07.2013
Сообщений: 345
13.07.2013, 10:46 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];
};
0
13.07.2013, 10:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.07.2013, 10:46
Помогаю со студенческими работами здесь

Как правильно записать условие?
Есть некоторая функция которая берёт данные из файла и сравнивает их. std::string result_left,...

Как правильно записать условие?
В листе Excel есть 3 ячейки - A2 (дата начала), B2 (дата завершения), C2 (текущая дата) и ячейка...

Как правильно записать условие
Хочу чтобы при нажатии на кнопку воспроизводилась запись. form1.mediaplayer1.FileName:=('путь...

Как правильно записать условие?
как вывести правильно чтобы правильно показывало Например если: у пользователя 600 очков...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru