go语言实现体脂计算器

代码示例评论阅读5分31秒

在Go语言中实现一个体脂计算器需要考虑很多因素,因为体脂率的计算通常依赖于个体的性别、年龄、体重、身高等多个因素。为了简化,我们可以使用一个估算公式。这里我们使用一个简化的公式作为示例,但是这只是一个大致的估算,并不是很精准,所以不适用于所有人群或需要高精度测量的情况。

减肥计划文章源自Golang编程指南-https://www.va26.com/work/357.html

下面是一个简单的Go程序,用于计算体脂率:文章源自Golang编程指南-https://www.va26.com/work/357.html

package main  
  
import (  
 "bufio"  
 "fmt"  
 "os"  
 "strconv"  
 "strings"  
)  
  
// BodyFatCalculator 结构体用于存储用户的信息  
type BodyFatCalculator struct {  
 Gender   string  
 Age      int  
 Weight   float64  
 Height   float64  
 BodyFat  float64  
}  
  
// CalculateBodyFat 方法用于计算体脂率  
func (bfc *BodyFatCalculator) CalculateBodyFat() {  
 // 这里我们使用一个简化的公式作为示例  
 // 实际情况可能需要更复杂的公式或测量方法  
 if bfc.Gender == "male" {  
 bfc.BodyFat = (1.20 * bfc.Weight) + (0.23 * bfc.Age) - (0.154 * bfc.Height) - 5.68  
 } else if bfc.Gender == "female" {  
 bfc.BodyFat = (1.20 * bfc.Weight) + (0.23 * bfc.Age) - (0.1 * bfc.Height) - 5.4  
 } else {  
 fmt.Println("Invalid gender. Please enter 'male' or 'female'.")  
 return  
 }  
   
 // 确保体脂率在合理范围内(0-100)  
 if bfc.BodyFat < 0 {  
 bfc.BodyFat = 0  
 } else if bfc.BodyFat > 100 {  
 bfc.BodyFat = 100  
 }  
}  
  
// main 函数是程序的入口点  
func main() {  
 reader := bufio.NewReader(os.Stdin)  
 bfc := BodyFatCalculator{}  
  
 // 输入性别  
 fmt.Print("Enter your gender (male/female): ")  
 gender, _ := reader.ReadString('\n')  
 bfc.Gender = strings.TrimSpace(gender)  
  
 // 输入年龄  
 fmt.Print("Enter your age: ")  
 ageStr, _ := reader.ReadString('\n')  
 age, _ := strconv.Atoi(strings.TrimSpace(ageStr))  
 bfc.Age = age  
  
 // 输入体重(公斤)  
 fmt.Print("Enter your weight (kg): ")  
 weightStr, _ := reader.ReadString('\n')  
 weight, _ := strconv.ParseFloat(strings.TrimSpace(weightStr), 64)  
 bfc.Weight = weight  
  
 // 输入身高(厘米)  
 fmt.Print("Enter your height (cm): ")  
 heightStr, _ := reader.ReadString('\n')  
 height, _ := strconv.ParseFloat(strings.TrimSpace(heightStr), 64)  
 bfc.Height = height  
  
 // 计算体脂率  
 bfc.CalculateBodyFat()  
 fmt.Printf("Your estimated body fat percentage is: %.2f%%\n", bfc.BodyFat)  
}

这个示例使用了一个简化的公式来估算体脂率,这个公式可能并不准确,仅用于做示范。在实际应用中,应使用更精确的公式或测量方法。文章源自Golang编程指南-https://www.va26.com/work/357.html

该程序从标准输入读取用户输入,你可以根据需要修改为用户界面或Web接口等。程序首先提示用户输入性别、年龄、体重和身高,然后使用这些信息来计算体脂率,并输出结果。文章源自Golang编程指南-https://www.va26.com/work/357.html 文章源自Golang编程指南-https://www.va26.com/work/357.html

 
  • 本文由golang编程指南作者原创,请勿恶意转载!
  • 转载请务必保留本文链接:https://www.va26.com/work/357.html
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证