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

Как изменить код программы чтобы все условия выполнялись должным образом? - C++

Восстановить пароль Регистрация
 
Student15
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
06.09.2013, 11:23     Как изменить код программы чтобы все условия выполнялись должным образом? #1
Здравствуйте! Вот код программы:

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
#include <iostream>
#include <time.h>
#include <math.h>
using namespace std;
 
int t;
 
class temp
{
public:
void temperature()
 
   {
int y;
 
int x[4] = {1,2,3,4};
y = x[4]^2-x[4];
 
srand (unsigned (time(0)));
int t = rand()%(y+1)+5;
cout << "t = "  << t << endl;
   }
};
class externalsensor
{
public:
void external()
 
   {
cout << "external sensor \n" << endl;
temp mytemp;
mytemp.temperature();
   }
};
class radiator
{
public:
void heat()
   {
cout << "radiator "<< endl;
 
if ( t >= 25)
cout << "turn off" << endl;
 
else
cout  << "turn on" << endl;
   }
};
int main()
{
    externalsensor myexternalsensor;
    myexternalsensor.external();
 
    radiator myradiator;
    myradiator.heat();
 
    return 0;
}
При его выполнении условие if ( t >= 25) не выполняется при том что обратное действует при всех значениях. Помогите исправить это чтобы обе функции выполнялись по заданным им условиям. (если ответ окажется тривиальным прошу не обижаться, так как изучаю С++ не больше трех недель)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 11:23     Как изменить код программы чтобы все условия выполнялись должным образом?
Посмотрите здесь:

C++ Преобразовать массив таким образом, чтобы сначала располагаись все положительные элементы, а потом-все отлицательные
Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом все отрицательные C++
Будет ли работать должным образом конструктор копирование с указателем? C++
C++ Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные
C++ Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные.как доработать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
06.09.2013, 11:26     Как изменить код программы чтобы все условия выполнялись должным образом? #2
Цитата Сообщение от Student15 Посмотреть сообщение
y = x[4]^2-x[4];
тут как я понял нужно в степень возвести ^2 в С++ не прокатит. y = x[4]*x[4]-x[4];
Student15
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
06.09.2013, 11:35  [ТС]     Как изменить код программы чтобы все условия выполнялись должным образом? #3
Так программа то компилируется и числа выдаются правильно, дело в том что функции в классе radiator не выполняются должным образом.
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
06.09.2013, 11:38     Как изменить код программы чтобы все условия выполнялись должным образом? #4
Цитата Сообщение от Student15 Посмотреть сообщение
классе radiator не выполняются должным образом.
то есть выводит t > 25 и не пишет "turn off"?
Student15
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
06.09.2013, 11:41  [ТС]     Как изменить код программы чтобы все условия выполнялись должным образом? #5
Да, и при этом пишет "turn on"
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
06.09.2013, 11:43     Как изменить код программы чтобы все условия выполнялись должным образом? #6
вот в чем ошибка. в классе temp создается новая своя переменная int t = rand....
она не меняет глобальную t
Student15
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
06.09.2013, 11:49  [ТС]     Как изменить код программы чтобы все условия выполнялись должным образом? #7
И как это исправить?
Raali
572 / 276 / 12
Регистрация: 06.07.2013
Сообщений: 917
Завершенные тесты: 1
06.09.2013, 11:50     Как изменить код программы чтобы все условия выполнялись должным образом? #8
дак вместо объявления int t = rand... использовать уже созданную t = rand..
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.09.2013, 11:52     Как изменить код программы чтобы все условия выполнялись должным образом?
Еще ссылки по теме:

Как переделать код, чтобы изменить интерфейс до неузнаваемости? C++
C++ Изменить функцию, чтобы все условия выполнялись в цикле
Условие цикла не работает должным образом C++

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

Или воспользуйтесь поиском по форуму:
Student15
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
06.09.2013, 11:52  [ТС]     Как изменить код программы чтобы все условия выполнялись должным образом? #9
Спасибо тебе большое!
Yandex
Объявления
06.09.2013, 11:52     Как изменить код программы чтобы все условия выполнялись должным образом?
Ответ Создать тему
Опции темы

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