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

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

Войти
Регистрация
Восстановить пароль
 
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
#1

If else statement - C++

18.09.2012, 08:40. Просмотров 344. Ответов 3
Метки нет (Все метки)

Стоит задача пл году машины и весу присвоить весовой номер и стоимость (таксы).

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <iostream>
using namespace std;
 
int main( )
{
   
    int year, weight, weight_class;
    double fee;  
    
      
    printf("Please enter a year: ");
    scanf("%d", &year);
    
    printf("Please enter a weight: ");
    scanf("%d", &weight);
    
   
    
    if (year <= 1970)
    {
             if (weight < 2700)
             {
             weight_class = 1;
             fee = 16.50;
             }
             
             else if (2700 <= weight <= 3800)
             {
             weight_class = 2;
             fee = 25.50;
             }
             
             else 
             {
             weight_class = 3;
             fee = 46.50;
             }
    }        
             
    else if (1971 <= year <= 1979)
    {
             if (weight < 2700)
             {
             weight_class = 4;
             fee = 27.00;
             }
             
             else if (2700 <= weight <= 3800)
             {
             weight_class = 5;
             fee = 30.50;
             }
             
             else 
             {
             weight_class = 6;
             fee = 52.50;
             }
         
         }
         
         
    else 
    {
             if ( weight < 3800)
             {
             weight_class = 7;
             fee = 35.50;
             }
             
             else 
             {
             weight_class = 8;
             fee = 62.50;
             }
         
         }
             
    
    printf("\n The weight class is %d and fee $%3.2f \n\n", &weight_class);
    
    
    
    
   
      
    system ("Pause");
    return 0;  
}

Выдаёт просто ерунду.
Помогите пожалуйста разобраться.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.09.2012, 08:40     If else statement
Посмотрите здесь:

Нюансы синтаксиса: как работают выражения вида statement = statement = statement? - C++
Всем привет. Что значит такое выражение в c++? c = c2 = c/2; и как вообще работают такие выражения?

If else statement (continue) - C++
Простите - не пойму как форматировать код, копируемый с (С++). Всё исправлено - досихпор какие - то ошибки у меня Выдаёт - The...

A range-based for statement - C++
я вот чё то не понимаю - когда вызываем оператор delete для указателя на массив, он каким то образом узнаёт его размер и всё грамотно...

Do_while statement missing - C++
Что-то напортачил, с оператором do...while. Укажите, где ошибка. Заранее благодарю. #include &lt;iostream.h&gt; main() { int x, i=1; ...

Исправить ошибку: break statement not within loop or switch - C++
#include &lt;iostream&gt; using namespace std; int main() { int x; {cout &lt;&lt; &quot;Grade&quot;; cin &gt;&gt;x; ...

Ошибки Cannot convert и Statement missing. Как исправить? - C++
Друзья, помогите, пожалуйста! Очень срочно нужно. В C++ очень недавно, поэтому ошибки могут быть элементарными, но как с ними...

В чем отличия между выражением (expression) и оперетором (statement)? - C++
Здравствуйте, скажите пожалуйста в чем отличия между выражением и оператором? Если x=100 это выражение, то x=100; оператор? Тогда...

Unreachable code Cath statement missing ) Type name expected - C++
Всем Салют!У меня проблема в проге.Хочу создать исключение: #include &lt;vcl.h&gt; #pragma hdrstop #include &quot;Unit1.h&quot; ...

Ошибка "statement cannot resolve address of overloaded function" - C++
помогите пожалуйста, почему вот тут вылезает ошибка &quot;statement cannot resolve address of overloaded function&quot;? в строке, где я вызываю...

Не понимаю причину ошибки "Statement missing ;" - C++
ИДЕ -- C++Builder 6 Суть кода: Перевод инфикской записи в постфиксную. Стек работает, проблема в самой функции перевода PolConv. Я...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
18.09.2012, 08:50     If else statement #2
Цитата Сообщение от QWERY_2012 Посмотреть сообщение
else if (2700 <= weight <= 3800)
Данные записи логически не верны. С точки зрения математики - да, с точки зрения ЯП - нет. Результат всех операций сравниваний - bool. В итоге имеем что при вычислении первого сравнения ( 2700 <= weight ) результат будет 1 или 0, в зависимости от истинности/ложности выражения. Далее этот результат сравнивается с 3800. То есть в итоге будет или так ( 1 <= 3800 ) или так ( 0 <= 3800 ). То есть этот результат всегда будет истинным. Для выполнения Вашего условия необходима операция логического И. В итоге оператор будет иметь вид:
C++
1
if (2700 <= weight && weight <= 3800)
И так с каждым оператором.

PS: И да - пользуйтесь, пожалуйста, тегами форматирования кода.
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
18.09.2012, 08:51     If else statement #3
QWERY_2012, код форматируйте когда выкладываете:
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include <iostream>
 using namespace std;
 
 int main( )
 {
 int year, weight, weight_class;
 double fee; 
 
 printf("Please enter a year: ");
 scanf("%d", &year);
 
 printf("Please enter a weight: ");
 scanf("%d", &weight);
 
 if (year <= 1970)
 {
 if (weight < 2700)
 {
 weight_class = 1;
 fee = 16.50;
 }
 
 else if (2700 <= weight <= 3800)
 {
 weight_class = 2;
 fee = 25.50;
 }
 
 else 
 {
 weight_class = 3;
 fee = 46.50;
 }
 } 
 
 else if (1971 <= year <= 1979)
 {
 if (weight < 2700)
 {
 weight_class = 4;
 fee = 27.00;
 }
 
 else if (2700 <= weight <= 3800)
 {
 weight_class = 5;
 fee = 30.50;
 }
 
 else 
 {
 weight_class = 6;
 fee = 52.50;
 }
 
 }
 
 else 
 {
 if ( weight < 3800)
 {
 weight_class = 7;
 fee = 35.50;
 }
 
 else 
 {
 weight_class = 8;
 fee = 62.50;
 }
 
 }
 
 
 printf("\n The weight class is %d and fee $%3.2f \n\n", &weight_class);
 
 system ("Pause");
 return 0; 
 }
QWERY_2012
5 / 5 / 2
Регистрация: 09.09.2012
Сообщений: 227
18.09.2012, 08:56  [ТС]     If else statement #4
Ok!!!
Спасибо огромное!!!
Yandex
Объявления
18.09.2012, 08:56     If else statement
Ответ Создать тему
Опции темы

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