计算工资

算法设计:
这道题可以用打表的方式来解决,先计算出税前工资S=3500、5000、8000等等纳税节点处的税后工资并存储在一个数组t中,然后将输入的T逐一与 t 数组中元素进行比较从而确定对应的税前工资S 所在区间,此时计算S就非常简便了。

c++代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
	int T;
	scanf("%d",&T);
	int s[9]={0,3500,5000,8000,12500,38500,58500,83500,INT_MAX};//税前工资 
	double rate[9]={0.0,0.0,0.03,0.1,0.2,0.25,0.3,0.35,0.45};//纳税比率 
	int t[9]={0};//税后工资
	for(int i=1;i<9;++i)//计算各节点处税后工资
		t[i]=t[i-1]+(s[i]-s[i-1])*(1-rate[i]);
	for(int i=1;i<9;++i){//查找输入的T 对应的S 所在区间,并计算S,输出 
		if(t[i]>=T){//如果t[i]>T 说明税前工资在当前区间内 
			int S=(T-t[i-1])/(1-rate[i])+s[i-1];//计算税前工资S 
			printf("%d",S);//输出 
			break;
		}
	}
	return 0;
}

作者:日沉云起
来源:优快云
原文:https://blog.youkuaiyun.com/richenyunqi/article/details/79642414
版权声明:本文为博主原创文章,转载请附上博文链接!

在使用 VBA 编写计算工资的程序时,通常需要定义变量、实现计算逻辑,并将结果输出到合适的位置。以下是一个完整的示例代码,用于计算员工的总工资,包括基本工资、奖金和扣除项[^1]。 ### 示例代码:计算员工总工资 ```vba Sub CalculateTotalSalary() ' 定义变量 Dim baseSalary As Double ' 基本工资 Dim bonus As Double ' 奖金 Dim deductions As Double ' 扣除项 Dim totalSalary As Double ' 总工资 ' 输入参数 baseSalary = 5000 ' 假设基本工资为5000 bonus = 1000 ' 假设奖金为1000 deductions = 500 ' 假设扣除项为500 ' 计算工资 totalSalary = baseSalary + bonus - deductions ' 显示结果 MsgBox "员工的总工资为:" & totalSalary End Sub ``` ### 示例解释 1. **定义变量**: - `baseSalary` 用于存储基本工资。 - `bonus` 用于存储奖金。 - `deductions` 用于存储扣除项。 - `totalSalary` 存储最终的总工资。 2. **输入参数**: - 假设了基本工资、奖金和扣除项的具体数值,这些数值可以根据实际情况从工作表中读取或通过用户输入获得。 3. **计算逻辑**: - 总工资计算公式为:`总工资 = 基本工资 + 奖金 - 扣除项`。 4. **显示结果**: - 使用 `MsgBox` 函数将计算结果输出到消息框中。 ### 优化建议 - **注释优化**:可以在代码中添加注释,以提高代码的可读性。例如,在定义变量时说明每个变量的用途[^2]。 - **输入灵活性**:可以将输入值从工作表中动态读取,而是硬编码。例如,使用 `Range` 函数获取单元格的值。 - **错误处理**:可以添加错误处理逻辑,以确保输入值为有效数字,避免运行时错误。 ### 扩展功能 - 如果需要更复杂的工资计算逻辑,例如根据同的条件计算奖金或扣除项,可以结合 `If` 或 `Select Case` 语句实现[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值