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

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

Войти
Регистрация
Восстановить пароль
 
Student15
0 / 0 / 0
Регистрация: 06.09.2013
Сообщений: 5
#1

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

06.09.2013, 11:23. Просмотров 323. Ответов 8
Метки нет (Все метки)

Здравствуйте! Вот код программы:

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) не выполняется при том что обратное действует при всех значениях. Помогите исправить это чтобы обе функции выполнялись по заданным им условиям. (если ответ окажется тривиальным прошу не обижаться, так как изучаю С++ не больше трех недель)
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.09.2013, 11:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как изменить код программы чтобы все условия выполнялись должным образом? (C++):

Изменить функцию, чтобы все условия выполнялись в цикле - C++
Здравствуйте! Прошу, помогите пожалуйста оптимизировать функцию perevod так, чтобы все условия выполнялись в цикле, т.е. не надо было...

Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные.как доработать? - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;cmath&gt; using namespace std; void float1(double...

Как сделать, чтобы 2 одинаковых перегруженных оператора выполнялись верно - C++
Всем привет! Столкнулся с такой ситуацией, что мне понадобилось использовать 2 перегруженных одинаковых оператора, все конечно же...

Как сделать так , чтобы если все 3 условия не выполняются , то вывести что то - C++
Задача на проверку : &quot;принадлежат ли числа к &quot; . Написал по одному , что принадлежит , что не принадлежит . А как сделать так , чтобы если...

Поиск осущевствляется должным образом - C++
Выполняется следующая часть кода void interface () { int n, Width, Height, request2,i; bool selection; cout &lt;&lt; &quot;Введите...

Условие цикла не работает должным образом - C++
я добавил коментарий на том цикле ,где начало должно быть с 0 ,а не 5 так в чем собственно ошибка и как ее обойти? for...

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

Как переделать код, чтобы изменить интерфейс до неузнаваемости? - C++
#include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;stdlib.h&gt; #include &lt;fstream&gt; #include...

Будет ли работать должным образом конструктор копирование с указателем? - C++
class A { A() {} A(const A *); } То что этот код скомпилируется - сомнений нет. Вот есть сомнения по поводу его...

Преобразовать массив таким образом, чтобы сначала располагались все положительные элементы, а потом - все остальные - C++
Помогите, пожалуйста. как составить код в с++. Дан целочисленный массив размера N. Преобразовать массив таким образом, чтобы сначала...

Преобразовать массив таким образом, чтобы сначала располагались все по- ложительные элементы, а потом все остальные - C++
#include &lt;iostream&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #include &lt;cmath&gt; using namespace std; void float1(double...


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

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

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