[Day-30] 最後一天的小练习

首先要庆祝一下~
终於撑到30天了
/images/emoticon/emoticon01.gif

今天要来练习的是利用switch
来做一个选择的模式
模式有三种

  1. 显示现在的日期以及时间
  2. 显示每日总热量消耗
  3. 退出程序

废话不多说
直接开始今天的练习吧~
/images/emoticon/emoticon07.gif

程序码:

#include<iostream>
#include <ctime>
#include <math.h>
using namespace std;

int BMR(int tall, int weight, int sex, int age){
	float x;
	x = (9.99 * weight )+ (6.25 * tall) -(4.92*23) + ((166 * age) -161);
	return x;
}

int main(){	
	int select;
	int tall, weight, sex, age;
	while(true){
		cout<<"选择模式:\n→ 日期/时间(1)\n→ 每日总热量消耗(2)\n→ 退出(3)\n";
		cin>>select;
		cout<<'\n';
	       
		time_t now = time(0);
	    char* dt = ctime(&now);
	
	 	switch(select){
		 	case 1:
		        cout << "现在的日期/时间是:" << dt << '\n';
		 	break;
		 	
		 	case 2:
                cout << "请输入您的性别:男(1)女(0)\n";
                cin >> sex;
                cout << "请输入您的年龄\n";
                cin >> age;
                cout << "请输入您的身高(cm)\n";
                cin >> tall;
                cout << "请输入您的体重(kg)\n";
                cin >> weight;
                cout << "  ▼每日总热量消耗▼\n";
                cout << "不太运动:"
                     <<ceil(BMR(tall, weight , age, sex)*1.2)<< "卡路里\n";
                cout << "偶尔运动:"
                     <<ceil(BMR(tall, weight , age, sex)*1.375)<< "卡路里\n";
                cout << "经常运动:"
                     <<ceil(BMR(tall, weight , age, sex)*1.55)<< "卡路里\n";
                cout << "每天运动:"
                     <<ceil(BMR(tall, weight , age, sex)*1.72)<< "卡路里\n";
                cout << "强度运动:"
                     <<ceil(BMR(tall, weight , age, sex)*1.9)<< "卡路里\n";
                break;
		    
		    case 3:
		    return false;
		    break;
		    
		    default:
		    break;
		}
 	}
 	return 0;
}

执行结果:

选择模式:
→ 日期/时间(1)
→ 一天所消耗的卡路里算(2)
→ 退出(3)
1

现在的日期/时间是:Thu Oct 07 02:32:06 2021

选择模式:
→ 日期/时间(1)
→ 一天所消耗的卡路里算(2)
→ 退出(3)
2

请输入您的性别:男(1)女(0)
1
请输入您的年龄
38
请输入您的身高(cm)
175
请输入您的体重(kg)
75
  ▼每日总热量消耗▼
不太运动:2081卡路里
偶尔运动:2385卡路里
经常运动:2688卡路里
每天运动:2983卡路里
强度运动:3295卡路里
选择模式:
→ 日期/时间(1)
→ 每日总热量消耗(2)
→ 退出(3)
3
--------------------------------
Process exited after 0.08787 seconds with return value 0
请按任意键继续...

程序码解释:
这边引用了之前所学的数学函式库
还有关於日期时间的函式库

#include <math.h>
#include <ctime>

宣告一个型态为int的变数select
用来储存选择的模式
用while回圈来重复执行选择模式
再利用switch来写选择模式的三种模式
◆第一种模式
直接引入ctime的函式来去做计算
最後就会直接显示结果

◆第二种模式
需先算出BMR(基础代谢率)才能再继续运算每日总热量消耗
公式为:(9.99 × 体重) + (6.25 × 身高) - (4.92 × 年龄) +((166 × 性别 (男 1、女 0) - 161))
算出BMR後就可以计算每日的总热量消耗有多少了

  • seldom:BMR × 1.2
  • sometimes:BMR × 1.375
  • often:BMR × 1.55
  • usually:BMR × 1.72
  • always:BMR × 1.9
    最後显示时再利用数学函式库math
    来让小数点无条件进位
    就完成啦~

◆第三种模式
使用break跳出while回圈
来完成退出的效果

以上就是我今天的练习啦~
终於结束30天了
谢谢大家的观看~
/images/emoticon/emoticon08.gif

-End-
参考资料:https://tools.heho.com.tw/bmr/


<<:  [火锅吃到饱-14] 陈师傅麻辣火锅 #营业到半夜两点

>>:  Day24 Android - databinding(单向绑定)

.NET Core第11天_Controller定义_附加属性_资料接收方式_返回View方式

藉由前几篇简单操作得知网址路由寻访 可以跳至Controller做相应Action Method执行...

C# delegate 委派

IT邦第二篇 就献给委派了 记得当年第一次看到 += 这东西的时候 问问前辈这是什麽 前辈只有跟我说...

Day20 跟着官方文件学习Laravel-Breeze

前面我们自己写了登入登出及注册,但其实laravel有提供我们身份验证的套件,这些工具包会自动提供我...

EP06 - 从零开始,在 AWS 上建置 Jenkins 使用 Terraform

前几天我们使用 terraform 配置好 gitlab 环境, 会单纯使用 gitlab 来管理程...

Day 12:vim 配色方案

俗话说人要衣装,佛要金装,我们的 vim 也得要有漂亮的外观。今天就让我们来看看如何调教调整 vim...