基于C++實現(xiàn)BMI身體質量指數(shù)計算工具
1. 知識介紹
BMI
(Body Mass Index,身體質量指數(shù)),也稱為體重指數(shù),是一種常用的衡量成人人體肥胖程度的指標。它通過身高和體重之間的數(shù)值關系來評估一個人的體重是否適中。
BMI的計算公式如下:
BMI = 體重(kg)/ (身高(m) * 身高(m))
根據(jù)計算得到的BMI值,可以將人體的體重狀況分為以下幾個范圍:
- BMI < 18.5:體重過輕
- 18.5 <= BMI < 24:體重正常
- 24 <= BMI < 28:超重
- BMI >= 28:肥胖
雖然BMI是一種常用的評估指標,但它僅僅是通過身高和體重的比值來進行估算,并沒有考慮到體脂肪和肌肉的比例以及身體的其他組成。因此,在評估個體的體重狀況時,還應考慮其他因素,如體脂肪百分比、腰圍、腰臀比等。
2. c++終端程序
#include <iostream> using namespace std; double calculateBMI(double weight, double height) { // 身高單位為米,體重單位為千克 double bmi = weight / (height * height); return bmi; } void interpretBMI(double bmi) { if (bmi < 18.5) { cout << "體重過輕" << endl; } else if (bmi >= 18.5 && bmi < 24) { cout << "正常范圍" << endl; } else if (bmi >= 24 && bmi < 28) { cout << "體重過重" << endl; } else if (bmi >= 28 && bmi < 32) { cout << "肥胖" << endl; } else { cout << "非常肥胖" << endl; } } int main() { double weight, height; cout << "請輸入體重(千克):"; cin >> weight; cout << "請輸入身高(米):"; cin >> height; double bmi = calculateBMI(weight, height); cout << "你的BMI指數(shù)為:" << bmi << endl; interpretBMI(bmi); return 0; }
3. qt界面程序
// mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QDebug> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow(); private slots: /** * @brief on_pb_calculate_clicked * 自動創(chuàng)建的信號槽 */ void on_pb_calculate_clicked(); /** * @brief printBMI * 手動創(chuàng)建的信號槽 */ void printBMI(); /** * @brief calculateBMI * @param weight * @param height * @return double */ double calculateBMI(double weight, double height); /** * @brief interpretBMI * @param bmi */ void interpretBMI(double bmi); private: Ui::MainWindow *ui; double weight, height; }; #endif // MAINWINDOW_H
// mainwindow.cpp #include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); qDebug() << "start..."; /* 終端輸出計算值 */ double mybmi = calculateBMI(80, 1.73); qDebug() << "terminal print: " << mybmi; connect(ui->pb_calculate_2, SIGNAL(clicked()), this, SLOT(printBMI())); } MainWindow::~MainWindow() { delete ui; } void MainWindow::on_pb_calculate_clicked() { QString text = "Hello, BMI Tool! Auto created!"; ui->tb_display->append(text); weight = ui->le_weight->text().toDouble(); height = ui->le_height->text().toDouble(); double bmi = weight / (height * height); QString strBMI = QVariant(bmi).toString(); ui->tb_display->append(strBMI); interpretBMI(bmi); } void MainWindow::printBMI() { QString text = "Hello, BMI Tool! Manual created!"; ui->tb_display->append(text); weight = ui->le_weight->text().toDouble(); height = ui->le_height->text().toDouble(); double bmi = calculateBMI(weight, height); QString strBMI = QVariant(bmi).toString(); ui->tb_display->append(strBMI); interpretBMI(bmi); } double MainWindow::calculateBMI(double weight, double height) { double bmi = weight / (height * height); return bmi; } void MainWindow::interpretBMI(double bmi) { if (bmi < 18.5) { ui->tb_display->append("體重過輕"); } else if (bmi >= 18.5 && bmi < 24) { ui->tb_display->append("正常范圍"); } else if (bmi >= 24 && bmi < 28) { ui->tb_display->append("體重過重"); } else if (bmi >= 28 && bmi < 32) { ui->tb_display->append("肥胖"); } else { ui->tb_display->append("非常肥胖"); } }
到此這篇關于基于C++實現(xiàn)BMI身體質量指數(shù)計算工具的文章就介紹到這了,更多相關C++ BMI計算工具內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Qt掃盲篇之QRegularExpression正則匹配總結
QRegularExpression是Qt5.0引進的,修復了很多bug,提高了效率,使用時建議使用QRegularExpression,下面這篇文章主要給大家介紹了關于Qt掃盲篇之QRegularExpression正則匹配的相關資料,需要的朋友可以參考下2023-03-03詳解C++成員函數(shù)的override和final說明符的用法
這篇文章主要介紹了詳解C++成員函數(shù)的override和final說明符的用法,分別用于重寫和禁止繼承類,要的朋友可以參考下2016-01-01