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

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

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

1. 知識介紹

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

BMI的計(jì)算公式如下:

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

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

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

雖然BMI是一種常用的評估指標(biāo),但它僅僅是通過身高和體重的比值來進(jìn)行估算,并沒有考慮到體脂肪和肌肉的比例以及身體的其他組成。因此,在評估個體的體重狀況時(shí),還應(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...";

    /* 終端輸出計(jì)算值 */
    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++實(shí)現(xiàn)BMI身體質(zhì)量指數(shù)計(jì)算工具的文章就介紹到這了,更多相關(guān)C++ BMI計(jì)算工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

    c語言指針其實(shí)是一個整形變量,與其它數(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文件的原理與具體實(shí)現(xiàn)過程,對于深入掌握VC程序設(shè)計(jì)具有很好的參考借鑒價(jià)值,需要的朋友可以參考下
    2014-10-10
  • QT安裝MQTT庫的實(shí)現(xiàn)步驟

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

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

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

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

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

    list是基于雙向循環(huán)鏈表的順序容器,支持O(1)插入刪除,迭代器分類明確,insert不失效而erase導(dǎo)致當(dāng)前迭代器失效,與vector對比,list空間利用率低但靈活,適合頻繁增刪操作,通過迭代器封裝實(shí)現(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í)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    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ì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言實(shí)現(xiàn)順序循環(huán)隊(duì)列實(shí)例

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

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

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

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

最新評論

泰和县| 石林| 阿拉善右旗| 仙桃市| 思茅市| 土默特右旗| 托克托县| 东光县| 湖北省| 河北省| 武冈市| 景泰县| 高平市| 襄城县| 长兴县| 清远市| 突泉县| 莱西市| 安新县| 苍梧县| 尼玛县| 南召县| 灌云县| 天等县| 玛纳斯县| 南靖县| 封开县| 凤城市| 高淳县| 吴川市| 曲靖市| 抚宁县| 叙永县| 定西市| 商水县| 饶河县| 喀喇沁旗| 张家口市| 申扎县| 天峨县| 巩留县|