2 / 2 / 4
Регистрация: 30.07.2017
Сообщений: 42
1

Определить индекс массы тела (BMI)

01.08.2017, 00:16. Показов 3940. Ответов 8
Метки нет (Все метки)

Учебник Стивен Прата 6-е издание. Лекции и упражнения. 3 глава - 2 задача.
Кликните здесь для просмотра всего текста
Напишите короткую программу, которая запрашивает рост в футах и дюймах и вес в фунтах. (Для хранения этой информации используйте три переменных.) Программа должна выдать индекс массы тела (body mass index - BMI). Чтобы расчитать BMI, сначала преобразуйте рост в футах и дюймах в рост в дюймах (1 фут = 12 дюймов). Затем преобразуйте рост в дюймах в рост в метрах, умножив на 0.0254. Далее преобразуйте вес в фунтах в массу в килограммах, разделив на 2.2. После этого рассчитайте BMI, разделив массу в килограммах на квадрат роста в метрах. Для представления различных коэффициентов преобразования используйте символические константы.

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
#include <iostream>
int main()
{
    setlocale(LC_ALL, "Russian");
    using namespace std;
    const int Ft1 = 12; // 1 фут = 12 дюйм
    const double In1 = 0.0254; // 1 дюйм = 0.0254 м
    const double Kg1 = 2.2; // 1 килограмм = 2.2 фунта
 
    //Ввод роста в футах и дюймах и веса в фунтах
    double Userft, UserIn, Userlb;
    cout << "Введите рост в футах и дюймах:\n";
    cout << "Фут = ";
    cin >> Userft;
    cout << "Дюйм = ";
    cin >> UserIn;
    cout << "Вес в фунтах: ";
    cin >> Userlb;
 
    // преобразование роста в дюймах в рост в метрах
    double In = Userft * Ft1 + UserIn;
    double M = In * In1;
 
    // преобразование веса в фунтах в массу в килограммах
    int Kg = Userlb / Kg1;
 
    // Рассчитываем BMI
    double BMI = (Kg / M) / M;
    cout << "Индекс массы вашего тела: " << BMI << endl;
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.08.2017, 00:16
Ответы с готовыми решениями:

c++ Индекс массы тела
Всем привет. сразу скажу что мой уровень знаний языков программирования практически 0 Пару дней...

Вычислить индекс массы тела
Напишите короткую программу, которая запрашивает рост в футах и дюймах и вес в фунтах. (Для...

Выдать индекс массы тела
Здравствуйте. Вот такая задача. Вот, что получилось у меня: #include &lt;iostream&gt; #include...

Вычисление индекса массы тела
Напишите короткую программу, которая запрашивает рост в футах и дюймах и вес в фунтах. (Для...

8
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.08.2017, 00:39 2
И? Похвастаться выложил?
0
2 / 2 / 4
Регистрация: 30.07.2017
Сообщений: 42
01.08.2017, 00:46  [ТС] 3
Нет, я сам новичок. Я выложил, так как хочу помочь тем, кто не может понять как решить данную задачу. Может быть у меня и будут недочеты и меня поправят люди, которые в этом хорошо разбираются.
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.08.2017, 00:48 4
Цитата Сообщение от Georgiy2017 Посмотреть сообщение
Может быть у меня и будут недочеты и меня поправят люди, которые в этом хорошо разбираются
Georgiy2017, будет вопрос - будет и ответ)
0
2 / 2 / 4
Регистрация: 30.07.2017
Сообщений: 42
01.08.2017, 00:59  [ТС] 5
21 строку поменяйте на
C++
1
double In = Userft * (double)Ft1 + UserIn;
25 строку поменяйте на
C++
1
int Kg = (int) (Userlb / Kg1);
Добавлено через 2 минуты
Цитата Сообщение от DevAlone Посмотреть сообщение
будет вопрос - будет и ответ)
У меня есть ошибки в коде?
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.08.2017, 01:00 6
21 строку поменяйте на
25 строку поменяйте на
Georgiy2017, зачем ты говоришь сам с собой?
Определить индекс массы тела (BMI)
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.08.2017, 01:09 7
Цитата Сообщение от Georgiy2017 Посмотреть сообщение
У меня есть ошибки в коде?
Georgiy2017, а мне откуда знать? Если он компилируется и делает то, что надо, то всё ОК.
А если нужны советы, то вот:
1 Не используй using namespace std;, только std::cout или using std::cout; чтоб не возникало конфликтов имён
2 вынеси преобразования в отдельные функции
3 можно добавить проверку ввода пользователя

Добавлено через 4 минуты
И если таки хочешь помочь кому-то, переименуй тему в Решение задачи из учебника "Стивен Прата 6-е издание. Лекции и упражнения" 3 глава - 2 задача, ну или что-то подобное, тогда поисковиками будет чуть проще искать.
1
2 / 2 / 4
Регистрация: 30.07.2017
Сообщений: 42
01.08.2017, 01:14  [ТС] 8
Цитата Сообщение от DevAlone Посмотреть сообщение
зачем ты говоришь сам с собой?
Я не могу отредактировать свою запись, прошло 5 минут. Приходится поправку писать здесь.

Добавлено через 4 минуты
Цитата Сообщение от DevAlone Посмотреть сообщение
можно добавить проверку ввода пользователя
Как?
0
331 / 283 / 78
Регистрация: 02.08.2016
Сообщений: 1,008
01.08.2017, 01:27 9
Цитата Сообщение от Georgiy2017 Посмотреть сообщение
Как?
Georgiy2017, после каждого ввода проверять его успешность
C++
1
2
3
4
5
6
if(!cin) { // проверяет установку флагов failbit и badbit
  // очищает поток
  cin.clear();
  cin.ignore(numeric_limits<streamsize>::max(), '\n');
// делаем какую-то обработку неправильного ввода
}
ну и проверки на ввод отрицательных значений, там где их не может быть(вес например)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.08.2017, 01:27
Помогаю со студенческими работами здесь

Найти потенциальную и кинетическую энергию тела массы m, движущегося на высоте h со скоростью v
Тела массой m на высоте h и движется со скоростью v. Надо найти потенциальную (P=mgh) и...

Найти массу тела по заданному номеру единицы массы (целое число в диапазоне 1-5)
7. Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 —...

Программа, которая бы по введенному номеру единицы измерения и массы M выдавала бы соответствующее значение массы в килограммах
Написать программу, которая бы по введенному номеру единицы измерения(1-килограмм, 2-миллиграмм,...

Расчет BMI
Наверно глупый вопрос или код. Второй день учу C++ Стивен Прата. И застрял на упражнение. Вроде все...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru