最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于C++實現(xiàn)BMI身體質(zhì)量指數(shù)計算工具

 更新時間:2023年10月22日 14:50:03   作者:DevFrank  
BMI(Body?Mass?Index,身體質(zhì)量指數(shù)),也稱為體重指數(shù),是一種常用的衡量成人人體肥胖程度的指標(biāo),本文就來用C++編寫一個簡單的BMI計算工具吧

1. 知識介紹

BMI(Body Mass Index,身體質(zhì)量指數(shù)),也稱為體重指數(shù),是一種常用的衡量成人人體肥胖程度的指標(biāo)。它通過身高和體重之間的數(shù)值關(guān)系來評估一個人的體重是否適中。

BMI的計算公式如下:

BMI = 體重(kg)/ (身高(m) * 身高(m))

根據(jù)計算得到的BMI值,可以將人體的體重狀況分為以下幾個范圍:

  • BMI < 18.5:體重過輕
  • 18.5 <= BMI < 24:體重正常
  • 24 <= BMI < 28:超重
  • BMI >= 28:肥胖

雖然BMI是一種常用的評估指標(biāo),但它僅僅是通過身高和體重的比值來進(jìn)行估算,并沒有考慮到體脂肪和肌肉的比例以及身體的其他組成。因此,在評估個體的體重狀況時,還應(yīng)考慮其他因素,如體脂肪百分比、腰圍、腰臀比等。

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("非常肥胖");
    }
}

到此這篇關(guān)于基于C++實現(xiàn)BMI身體質(zhì)量指數(shù)計算工具的文章就介紹到這了,更多相關(guān)C++ BMI計算工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 帶你分分鐘玩轉(zhuǎn)C語言指針

    帶你分分鐘玩轉(zhuǎn)C語言指針

    c語言指針其實是一個整形變量,與其它數(shù)據(jù)不同的是,它的作用是用來存儲其它變量的地址,下面這篇文章主要給大家介紹了關(guān)于C語言指針的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • VC程序在Win32環(huán)境下動態(tài)鏈接庫(DLL)編程原理

    VC程序在Win32環(huán)境下動態(tài)鏈接庫(DLL)編程原理

    這篇文章主要介紹了VC程序在Win32環(huán)境下動態(tài)鏈接庫(DLL)編程原理,包括了dll文件的原理與具體實現(xiàn)過程,對于深入掌握VC程序設(shè)計具有很好的參考借鑒價值,需要的朋友可以參考下
    2014-10-10
  • QT安裝MQTT庫的實現(xiàn)步驟

    QT安裝MQTT庫的實現(xiàn)步驟

    本文分別介紹了在Windows、Linux、ARM板卡下給QT安裝MQTT庫的步驟,具有一定的參考價值,感興趣的可以了解一下
    2026-01-01
  • 基于C語言編寫一個簡單的抽卡小游戲

    基于C語言編寫一個簡單的抽卡小游戲

    這篇文章主要為大家介紹了如何利用C語言實現(xiàn)原神抽卡的小游戲,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-04-04
  • C++?list模擬實現(xiàn)過程

    C++?list模擬實現(xiàn)過程

    list是基于雙向循環(huán)鏈表的順序容器,支持O(1)插入刪除,迭代器分類明確,insert不失效而erase導(dǎo)致當(dāng)前迭代器失效,與vector對比,list空間利用率低但靈活,適合頻繁增刪操作,通過迭代器封裝實現(xiàn)統(tǒng)一訪問接口
    2025-09-09
  • Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境

    Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境

    這篇文章主要介紹了Ubuntu16.04下配置VScode的C/C++開發(fā)環(huán)境的教程,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • C語言+win32api寫窗體應(yīng)用程序

    C語言+win32api寫窗體應(yīng)用程序

    本文給大家分享的是個人使用純C語言結(jié)合win32api制作窗體應(yīng)用程序的代碼,非常的簡單,給需要的小伙伴參考下。
    2016-02-02
  • 淺談C++11中的幾種鎖

    淺談C++11中的幾種鎖

    本文主要介紹了C++11中的幾種鎖,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言實現(xiàn)順序循環(huán)隊列實例

    C語言實現(xiàn)順序循環(huán)隊列實例

    大家好,本篇文章主要講的是C語言實現(xiàn)順序循環(huán)隊列實例,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • C++?STL反向迭代器的實現(xiàn)

    C++?STL反向迭代器的實現(xiàn)

    本文主要介紹了C++?STL反向迭代器的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論

大余县| 宁武县| 石首市| 化德县| 明溪县| 周宁县| 兴宁市| 定安县| 文登市| 大方县| 新竹县| 丹江口市| 宁南县| 嵊州市| 台山市| 松江区| 邻水| 民县| 鄂托克前旗| 曲松县| 通渭县| 吉林省| 通山县| 龙胜| 元谋县| 右玉县| 法库县| 冷水江市| 辽宁省| 香河县| 丰都县| 和龙市| 宁晋县| 三都| 金昌市| 牟定县| 宜都市| 改则县| 三门县| 昌宁县| 读书|