Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 1
Регистрация: 09.08.2014
Сообщений: 17

Программа для подсчета калорий выдает неправильный результат

23.08.2014, 19:04. Показов 2785. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Недавно начал изучать c++.
Написал простую программу для подсчета калорий. Она выдаёт неправильный результат.
При вводе данных: вес 71, рост 182, возраст 21 - выдает -123. А надо 1806,74.
Подскажите пожалуйста, в чем проблема?
Заранее спасибо!
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int main()
{
double ves;
double rost;
double vozrast;
double rezultat;
 
cout << "vvedite ves (kg)\n";
cin >> ves;
cout << "vvedite rost (sm)\n";
cin >> rost;
cout << "vvedite vozrast (skolko let)\n";
cin >> vozrast;
 
rezultat = 66 + (13,7 * ves) + (5 * rost) - (6,76 * vozrast);
cout << "vash osnovnoy obmen "; cout << rezultat;
 
return 0;
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.08.2014, 19:04
Ответы с готовыми решениями:

Работа с матрицами, программа выдает неправильный результат
помогите пожалуйста,ВЫВОДИТ НЕ ТОТ РЕЗУЛЬТАТ. MAIN #include &quot;stdafx.h&quot; #include &quot;Header.h&quot; #include &lt;stdio.h&gt; #include...

Метод Ньютона (касательных), программа выдает неправильный результат
Здравствуйте. Проблема в том, что с моей функцией программа выдает неверный результат(хотя если написать функцию, например x*x-2, то все...

Программа выдает неправильный результат
#include &lt;stdio.h&gt; #define a 20 #define n 20 int main () { int i,k; int arr,m; i=0; k=20; do

7
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.08.2014, 19:11
Замените в 17 строке запятые на точки.
1
0 / 0 / 1
Регистрация: 09.08.2014
Сообщений: 17
23.08.2014, 19:23  [ТС]
Спасибо огромное!
0
Пес войны
 Аватар для NeonLost
111 / 88 / 22
Регистрация: 23.02.2012
Сообщений: 653
23.08.2014, 19:25
Цитата Сообщение от vblnt Посмотреть сообщение
13,7
такие числа через точку пишут
0
0 / 0 / 1
Регистрация: 09.08.2014
Сообщений: 17
23.08.2014, 19:52  [ТС]
Подскажите еще пожалуйста, если не трудно.
Доработал программу, включив в нее циклы. При вводе значения 2 переменной koeff присваивается значение 1.3.
Это значение должно умножаться на результат вычислений переменной rezultat.
Должно получиться 2348.762, а получается 1678.98.
Спасибо за помощь.
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
#include <iostream>
using namespace std;
int main()
{
double ves;
double rost;
double vozrast;
double rezultat;
double koef;
double koeff;
 
cout << "Vvedite ves (kg)\n";
cin >> ves;
cout << "Vvedite rost (sm)\n";
cin >> rost;
cout << "Vvedite vozrast (skolko let)\n";
cin >> vozrast;
cout << "Kakova vasha fizicheskaya activnost?\n Pri minimalnoy activnosti vvedite 1.\n Pri legkoy nagruzke 1-3 raza v nedelu vvedite 2.\n Pri trenirovkah 3-5 raz v nedelu vvedite 3.\n Pri trenirovkah ejednevno vvedite 4.\n Pri trenirovkah 2 raza v den vvedite 5.\n";
cin >> koef;
 
if (koef = 1)
{
    koeff = 1.2;
}
if (koef = 2)
{
    koeff = 1.3;
}
if (koef = 3)
{
    koeff = 1.6;
}
if (koef = 4)
{
    koeff = 1.7;
}
if (koef = 5)
{
    koeff = 1.9;
}
 
rezultat = (66 + (13.7 * ves) + (5 * rost) - (6.76 * vozrast)) * koeff;
cout << "vash osnovnoy obmen "; cout << rezultat;
 
return 0;
}
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.08.2014, 20:02
Цитата Сообщение от vblnt Посмотреть сообщение
if (koef = 1)
C++
1
if (koef == 1)
одинарное = присваивание, двойное - сравнение

Добавлено через 1 минуту
я бы также рекомендовал использовать switch-case
1
0 / 0 / 1
Регистрация: 09.08.2014
Сообщений: 17
23.08.2014, 20:38  [ТС]
Спасибо огромное! Глупые ошибки в синтаксисе делаю.

Добавлено через 32 минуты
А можно ли делать вот так?
C++ (Qt)
1
2
3
4
5
6
if (pol == 1)
{
    poll = 665;
    polla = 9.6;
    pollb = 1.8;
    pollc = 4.7;
Или для этого нужно использовать switch-case?
0
Форумчанин
Эксперт CЭксперт С++
 Аватар для MrGluck
8216 / 5047 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
23.08.2014, 20:48
Цитата Сообщение от vblnt Посмотреть сообщение
А можно ли делать вот так?
Можно
switch-case это оператор множественного выбора, он заменяет множество блоков if-else и для достижения какого-либо условия не требует проверки всех предыдущих (не вдаваясь в подробности).
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.08.2014, 20:48
Помогаю со студенческими работами здесь

Программа выдает неправильный результат
#include &lt;stdio.h&gt; int main(void){ char mas; scanf(&quot;%s&quot;, mas); for(int i = 0; i &lt; 10; i++){ switch(mas){ case '0': ...

Программа выдает неправильный результат
Function Dispersia(varArray As Variant) As Variant Dim varItem As Variant Dim varSum As Variant Dim varSum2 As...

Программа выдает неправильный результат
Создал проект unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

Программа выдает неправильный результат
Решаю задачу больше недели, препод не помогает, Задача в Фортране 90, s1 должно быть равно s2 проверяю в Excel все верно, а программа не...

Программа выдает неправильный результат
# include &lt;string.h&gt; # include &lt;stdio.h&gt; # include&lt;conio.h&gt; char a1=&quot;asddfghjk&quot;;char a2;int l1,l2; int main() { ...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru