亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1. 知識(shí)介紹

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

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

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

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

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

雖然BMI是一種常用的評(píng)估指標(biāo),但它僅僅是通過(guò)身高和體重的比值來(lái)進(jìn)行估算,并沒(méi)有考慮到體脂肪和肌肉的比例以及身體的其他組成。因此,在評(píng)估個(gè)體的體重狀況時(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 << "體重過(guò)輕" << endl;
    } else if (bmi >= 18.5 && bmi < 24) {
        cout << "正常范圍" << endl;
    } else if (bmi >= 24 && bmi < 28) {
        cout << "體重過(guò)重" << endl;
    } else if (bmi >= 28 && bmi < 32) {
        cout << "肥胖" << endl;
    } else {
        cout << "非常肥胖" << endl;
    }
}

int main() {
    double weight, height;
    
    cout << "請(qǐng)輸入體重(千克):";
    cin >> weight;
    
    cout << "請(qǐng)輸入身高(米):";
    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
     * 自動(dòng)創(chuàng)建的信號(hào)槽
     */
    void on_pb_calculate_clicked();

    /**
     * @brief printBMI
     * 手動(dòng)創(chuàng)建的信號(hào)槽
     */
    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("體重過(guò)輕");
    } else if (bmi >= 18.5 && bmi < 24) {
        ui->tb_display->append("正常范圍");
    } else if (bmi >= 24 && bmi < 28) {
        ui->tb_display->append("體重過(guò)重");
    } 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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C語(yǔ)言 操作符分類(lèi)解析與使用

    C語(yǔ)言 操作符分類(lèi)解析與使用

    C 語(yǔ)言提供了豐富的操作符,有:算術(shù)操作符,移位操作符,位操作符,邏輯操作符,逗號(hào)表達(dá)式。讓我們通讀本篇來(lái)詳細(xì)了解吧
    2021-11-11
  • 詳談c++跨平臺(tái)編碼的問(wèn)題

    詳談c++跨平臺(tái)編碼的問(wèn)題

    下面小編就為大家?guī)?lái)一篇詳談c++跨平臺(tái)編碼的問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-08-08
  • Qt掃盲篇之QRegularExpression正則匹配總結(jié)

    Qt掃盲篇之QRegularExpression正則匹配總結(jié)

    QRegularExpression是Qt5.0引進(jìn)的,修復(fù)了很多bug,提高了效率,使用時(shí)建議使用QRegularExpression,下面這篇文章主要給大家介紹了關(guān)于Qt掃盲篇之QRegularExpression正則匹配的相關(guān)資料,需要的朋友可以參考下
    2023-03-03
  • C++11中使用using的方法

    C++11中使用using的方法

    在 C++ 中 using 用于聲明命名空間,使用命名空間也可以防止命名沖突。這篇文章主要介紹了C++11中使用using的方法,需要的朋友可以參考下
    2021-09-09
  • 《C++ primer plus》讀書(shū)筆記(一)

    《C++ primer plus》讀書(shū)筆記(一)

    本讀書(shū)筆記是C++ primer plus(第六版)前3章的學(xué)習(xí)筆記。非常的淺顯易懂,復(fù)習(xí)C++基礎(chǔ)知識(shí)的可以瞄瞄。
    2014-10-10
  • C++中約數(shù)定理的實(shí)例詳解

    C++中約數(shù)定理的實(shí)例詳解

    這篇文章主要介紹了C++中約數(shù)定理的實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • 詳解C++成員函數(shù)的override和final說(shuō)明符的用法

    詳解C++成員函數(shù)的override和final說(shuō)明符的用法

    這篇文章主要介紹了詳解C++成員函數(shù)的override和final說(shuō)明符的用法,分別用于重寫(xiě)和禁止繼承類(lèi),要的朋友可以參考下
    2016-01-01
  • C語(yǔ)言實(shí)現(xiàn)掃雷代碼

    C語(yǔ)言實(shí)現(xiàn)掃雷代碼

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)掃雷代碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • MFC實(shí)現(xiàn)全屏功能代碼實(shí)例

    MFC實(shí)現(xiàn)全屏功能代碼實(shí)例

    這篇文章主要介紹了MFC實(shí)現(xiàn)全屏功能的代碼,對(duì)于學(xué)習(xí)MFC有一定的借鑒價(jià)值,需要的朋友可以參考下
    2014-07-07
  • C語(yǔ)言實(shí)現(xiàn)反彈球游戲

    C語(yǔ)言實(shí)現(xiàn)反彈球游戲

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)反彈球游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03

最新評(píng)論