题解 | #个人所得税计算程序#

个人所得税计算程序

https://www.nowcoder.com/practice/afd6c29943c54453b2b5e893653c627e

#include <iomanip>
#include <iostream>
#include<algorithm>
// write your code here......
#include<vector>
using namespace std;

class Employee {

    private:
        string name;
        double salary;
    // write your code here......
    public:
        Employee(string n,double s){
            name=n;
            salary=s;
            
        }
        string getName(){
            return name;
        }
        double getSalary()
        {
            return salary;
        }
        double caculate(){
            int m=getSalary()-3500;
            double tax;
            if(m<=0){
                tax=0;
            }else if(m<=1500)tax=m*0.03;
            else if(m<4500)tax=m*0.1-105;
            else if(m<9000)tax=m*0.2-555;
            else if(m<35000)tax=m*0.25-1005;
            else if(m<55000)tax=m*0.3-2755;
            else if(m<80000)tax=m*0.35-5505;
            else tax=m*0.45-13505;
            return tax;
        }

};
bool cmp(Employee &a,Employee &b){
    return a.getSalary()>b.getSalary();

}
int main() {
    vector<Employee>v;
    // write your code here......
    Employee wangwu("王五",100000);
    Employee lisi("李四",8000);
    Employee zhangsan("张三",6500);
    v.push_back(wangwu);
    v.push_back(lisi);
    v.push_back(zhangsan);
    sort(v.begin(),v.end(),cmp);
    cout<<wangwu.getName()<<"应该缴纳的个人所得税是:"<<fixed<<setprecision(1)<<wangwu.caculate()<<endl;
    cout<<lisi.getName()<<"应该缴纳的个人所得税是:"<<fixed<<setprecision(1)<<lisi.caculate()<<endl;
    cout<<zhangsan.getName()<<"应该缴纳的个人所得税是:"<<fixed<<setprecision(1)<<zhangsan.caculate()<<endl;

    return 0;
}

要熟练使用sort函数,自定义排名很好用,记得cmp函数怎么用就好了。

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务