返回列表 發帖

計算 BMI

本帖最後由 鄭繼威 於 2022-9-17 14:20 編輯

設計一程式計算使用者的BMI值,並給予評論。
關於BMI值的計算可參考這裡
公式:體重/身高(公尺)(平方)

(上下限可以自己設定)

評論參考:
"體重過輕!!你需要多吃點喔!"
"正常範圍!!繼續保持!"
"過重!!唔..該減肥了!"
"輕度肥胖!!太胖了!這樣會交不到男(女)朋友!"
"中度肥胖!!去操場跑個十圈再回來!"
"重度肥胖!!你需要立即注意你的飲食,因為你的生命正受到嚴重威脅!"
"不要再玩了啦! 你是怪物嗎? 再胡鬧小心我扁你!"

用if-else判斷
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string name;
  7.     float h,w,bmi;
  8.     cout<<"***歡迎使用小米的BMI值計算機***"<<endl<<endl;
  9.     cout<<"請輸入你的大名: ";
  10.     cin>>name;

  11.     cout<<"請輸入你的身高(公分): ";
  12.     cin>>h;
  13.     h=h/100;

  14.     cout<<"請輸入你的體重(公斤): ";
  15.     cin>>w;

  16.     bmi=w/(h*h);

  17.     cout<<endl<<"親愛的"<<name<<",你的BMI值為: "<<bmi<<endl;

  18.     //if-else判斷
  19.     if(bmi>=10 && bmi<18.5)
  20.         cout<<"體重過輕!!你需要多吃點喔!"<<endl;
  21.     else if(bmi>=18.5 && bmi<24)
  22.         cout<<"正常範圍!!繼續保持!"<<endl;
  23.     else if(bmi>=24 && bmi<27)
  24.         cout<<"過重!!唔..該減肥了!"<<endl;
  25.     else if(bmi>=27 && bmi<30)
  26.         cout<<"輕度肥胖!!太胖了!這樣會交不到男(女)朋友!"<<endl;
  27.     else if(bmi>=30 && bmi<35)
  28.         cout<<"中度肥胖!!去操場跑個十圈再回來!"<<endl;
  29.     else if(bmi>=35 && bmi<70)
  30.         cout<<"重度肥胖!!你需要立即注意你的飲食,因為你的生命正受到嚴重威脅!"<<endl;
  31.     else
  32.         cout<<"不要再玩了啦! 你是怪物嗎? 再胡鬧小心我扁你!"<<endl;
  33.     cout<<endl;
  34.     system("pause");
  35.     return 0;
  36. }
複製代碼
用switch-case判斷
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. int main()
  5. {
  6.     string name;
  7.     float h,w,bmi;
  8. //    int bmi;
  9.     cout<<"***歡迎使用小米的BMI計算機***"<<endl<<endl;
  10.     cout<<"請輸入你的大名: ";
  11.     cin>>name;
  12.    
  13.     cout<<"請輸入你的身高(公分): ";
  14.     cin>>h;
  15.     h=h/100;
  16.    
  17.     cout<<"請輸入你的體重(公斤): ";
  18.     cin>>w;
  19.    
  20.     bmi=w/(h*h);
  21.    
  22.     cout<<endl<<"親愛的"<<name<<",你的BMI值為: "<<bmi<<endl;
  23.    
  24.     //switch-case判斷
  25.     switch(bmi){
  26. //            case 10 ... 18.5:
  27. //            cout<<"體重過輕"<<endl;
  28. //            break;
  29. //        case 18.5 ... 24:
  30. //            cout<<"正常範圍"<<endl;
  31. //            break;
  32.         case 24 ... 26:
  33.             cout<<"過重"<<endl;
  34.             break;
  35.         case 27 ... 29:
  36.             cout<<"輕度肥胖"<<endl;
  37.             break;
  38.         case 30 ... 34:     
  39.             cout<<"中度肥胖"<<endl;
  40.             break;
  41.         case 35 ... 70:     
  42.             cout<<"重度肥胖"<<endl;
  43.             break;
  44.         default:
  45.             cout<<"輸入錯誤"<<endl;       
  46.         }     
  47.       
  48.     system("pause");
  49.     return 0;
  50. }   
複製代碼
switch-case的小問題:
要判斷的變數只能是整數(int)及字元(char)
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

返回列表