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

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

Войти
Регистрация
Восстановить пароль
 
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
#1

Оператор If - C++

10.11.2011, 21:45. Просмотров 291. Ответов 8
Метки нет (Все метки)

Всем доброго времени суток.
Такой вопрос, мне нужно задать условие :
baza[i].time >= 30 и в тоже время baza[i].price < 100000
чтобы вывести товар хранящихся больше месяца, стоимость которых превышает 100 000 р.
Но как это записать? Я так понял нужно использовать && но у меня что то не получается
Делаю так :

C++
1
if ((baza[i].time) >= 30) && (baza[i].price < 1)
Ругается
error C2143: syntax error : missing ';' before '&&'
error C2143: syntax error : missing ';' before '{'

как только дужки не ставил, ошибки .

Весь код

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include "stdafx.h"
#include <iostream>
#include <string.h>
using namespace std;
 
int main ()
{  
    struct strc 
    {
        char name_tov[30]; 
        char kilkist[15]; 
        char price[20]; 
        int time;       
    };
 
    strc baza[100];
    int i,k;
    cout<<"Vvedite kilkist tovaru"<<endl;
    cin>>k;
    for (i=0; i<k; i++)
    {
        cout<<"Vvedite naemenyvanny tovary"<< endl;
        cin>>baza[i].name_tov;
        cout<<"Vvedite kilkist"<< endl;
        cin>>baza[i].kilkist;
        cout<<"Vvedite tciny za 1 sht"<< endl; 
        cin>>baza[i].price;
        cout<<"Vvedite daty postyplenia tovary"<< endl;
        cin>>baza[i].time;
    }
    char punkt[20]; 
    for (i=0; i<k; i++)
    {
    //if ((baza[i].time) > 30) //&& (baza[i].price) > l))
        if ((baza[i].time) >= 30) && (baza[i].price < 100000)
    {
        cout<<"Naemenyvanny tovary \n"<<baza[i].name_tov<<endl;
        cout<<""<<endl;
        cout<<"kilkist \n"<<baza[i].kilkist<<endl;
        cout<<""<<endl;
        cout<<"tciny za 1 sht \n"<<baza[i].price<<endl; 
        cout<<""<<endl;     
        cout<<"Na skladi \n"<<baza[i].time<<endl; 
        cout<<""<<endl; 
    }
    }
    return 0;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.11.2011, 21:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Оператор If (C++):

Условный оператор, оператор ввода/вывода; плоскость и принадлежность точки - C++
Здравствуйте. В С++ я абсолютный новичок, поэтому с первым же заданием возникли определённые трудности. Будьте добры, помогите решить. Буду...

Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 - C++
В С++ я ноль, помогите пожалуйста написать прогу Написать программу, содержащую оператор оператор for для счета от 2 до 5 через 1 ...

Для шаблонного класса перегрузить оператор присваивания, copy-конструктор, объекты cin и cout, оператор * - C++
Помогите в следующем: Для класса шаблона следует перегрузить оператор присваивания, конструктор копирования, бинарный оператор суммы «*»,...

Для чего нужен оператор двоеточие, если два двоеточия - это оператор расширения области видимости - C++
для чего нужен оператор двоеточие ( : ), если два двоеточия( :: ) - это оператор расширения области видимости.

Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. - C++
Применяя оператор цикла FOR вычислить y. Оператор if в теле цикла не использовать. Значение m и n вводить с клавиатуры. Шаг изменения...

Почему обращение к методам осуществляется через оператор прямого доступа, а не через оператор указателей->? - C++
#include &lt;iostream&gt; using namespace std; class random { public: void Set(int b){a=b;} int Get(){return a;} private: ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.11.2011, 21:47 #2
Цитата Сообщение от ivan777 Посмотреть сообщение
if ((baza[i].time) >= 30) && (baza[i].price < 1)
закрывающую скобку потерял
0
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
10.11.2011, 21:50  [ТС] #3
Цитата Сообщение от Jupiter Посмотреть сообщение
закрывающую скобку потерял
Всеровно не работает, если вот так записать
C++
1
((baza[i].time) >= 30) && (baza[i].price) < 1)
Тогда на 2 ошибки больше
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.11.2011, 21:51 #4
C++
1
if ( (baza[i].time >= 30) && (baza[i].price < 1) )
0
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
10.11.2011, 21:54  [ТС] #5
Jupiter,
Не помогло(

error C2446: '<' : no conversion from 'int' to 'char *'
error C2040: '<' : 'char [20]' differs in levels of indirection from 'int'
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.11.2011, 21:58 #6
Цитата Сообщение от ivan777 Посмотреть сообщение
Не помогло(
error C2446: '<' : no conversion from 'int' to 'char *'
error C2040: '<' : 'char [20]' differs in levels of indirection from 'int'
логично если
Цитата Сообщение от ivan777 Посмотреть сообщение
char price[20];
0
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
10.11.2011, 22:02  [ТС] #7
Jupiter, И что сделать? Если я уберу [20] прога то компилируется, но нормально работать не будет ...
0
Jupiter
Каратель
Эксперт С++
6554 / 3975 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
10.11.2011, 22:07 #8
Цитата Сообщение от ivan777 Посмотреть сообщение
И что сделать?
для начала объясните себе, почему у вас цена - символьный массив, а не число с плавающей точкой
0
ivan777
2 / 1 / 1
Регистрация: 10.03.2010
Сообщений: 64
10.11.2011, 22:19  [ТС] #9
Цитата Сообщение от Jupiter Посмотреть сообщение
для начала объясните себе, почему у вас цена - символьный массив, а не число с плавающей точкой
Завтыкав) Но всеравно у меня что то не получается... Не работает иф

Вот код


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include "stdafx.h"
#include <iostream>
#include <string.h>
using namespace std;
 
int main ()
{  
    struct strc 
    {
        char name_tov[30]; 
        char kilkist[15]; 
        float price; 
        int time; 
    };
     
    strc baza[100];
    int i,k;
    cout<<"Vvedite kilkist tovaru"<<endl;
    cin>>k;
    for (i=0; i<k; i++)
    {
        cout<<"Vvedite naemenyvanny tovary"<< endl;
        cin>>baza[i].name_tov;
        cout<<"Vvedite kilkist"<< endl;
        cin>>baza[i].kilkist;
        cout<<"Vvedite tciny za 1 sht"<< endl; 
        cin>>baza[i].price;
        cout<<"Vvedite daty postyplenia tovary"<< endl;
        cin>>baza[i].time;
    }
     cout<<"proverka = \n"<<baza[i].price<<endl;
    for (i=0; i<k; i++)
    {
        if ( (baza[i].time >= 30) && (baza[i].price < 100000) )
    {
        cout<<"Naemenyvanny tovary \n"<<baza[i].name_tov<<endl;
        cout<<""<<endl;
        cout<<"kilkist \n"<<baza[i].kilkist<<endl;
        cout<<""<<endl;
        cout<<"tciny za 1 sht \n"<<baza[i].price<<endl; 
        cout<<""<<endl;     
        cout<<"Na skladi \n"<<baza[i].time<<endl; 
        cout<<""<<endl; 
    }
    }
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.11.2011, 22:19
Привет! Вот еще темы с ответами:

Оператор break как оператор go to next - C++
Подскажите, в этом примере break эквивалентна действию оператора go to next?

Как перегрузить оператор<< и оператор>> ? - C++
Доброго времени суток. Застрял на двух вопросах и не как не могу найти инфу которвя мне помогла бы их решить. вопрос первый. В общем...

В Delphi есть оператор cost i of. и т.д. Есть ли в C++ такой же оператор? - C++
(C++ Builder XE5)

Оператор for - C++
Всем здравствуйте. Изучаю оператор for, и совершенно не могу понять, как он будет работать в этой программе: Найти сумму целых...


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

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

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