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

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

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

If else statement - C++

18.09.2012, 08:40. Просмотров 338. Ответов 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
Посмотрите здесь:

Unreachable code Cath statement missing ) Type name expected C++
A range-based for statement C++
C++ Ошибка "statement cannot resolve address of overloaded function"
If else statement (continue) C++
C++ Ошибки Cannot convert и Statement missing. Как исправить?
В чем отличия между выражением (expression) и оперетором (statement)? C++
C++ Ошибка: "case label not within a switch statement"
C++ Do_while statement missing
C++ Что неправильно? Ошибка "statement missing"
Не понимаю причину ошибки "Statement missing ;" C++
Исправить ошибку: break statement not within loop or switch C++
Нюансы синтаксиса: как работают выражения вида statement = statement = statement? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 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
5411 / 4807 / 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
Ответ Создать тему
Опции темы

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