zoukankan
html css js c++ java
计算个税(定义一个薪水类)
(起征点800):
#include <iostream> using namespace std; #define TAX_THRESHOLD 800 struct Tax { double standard; double tax_rate; }; class Salary { double income; public: static Tax tax_array[]; Salary(int m = 0) { income = m; } void operator - (int payout) { income -= payout; cout << "工资余额:" << income << endl; } void CalculateSalary(void); }; Tax Salary::tax_array[] = { {0,0.05}, {500, 0.10}, {2000, 0.15}, {5000,0.20}, {20000,0.25}, {40000,0.30}, {60000,0.35}, {80000,0.40}, {100000,0.45} }; void Salary::CalculateSalary(void) { double tax = 0; double x = income - TAX_THRESHOLD; if(x > 0) { for(int i = sizeof(tax_array) / sizeof(*tax_array) - 1; i >= 0; i--) { if(x > tax_array[i].standard) { tax += (x - tax_array[i].standard) * tax_array[i].tax_rate; x = tax_array[i].standard; } } } cout << "税前工资为:" << income << endl; cout << "个人所得税为:" << tax << endl; income -= tax; cout << "实发工资为:" << income << endl; } int main(void) { double myincome; double mypayout; while(cout << "您的月薪为:", cin >> myincome) { Salary mysalary(myincome); mysalary.CalculateSalary(); cout << "取款金额:"; cin >> mypayout; mysalary - mypayout; // 硬性重载减号 cout << endl; } return 0; }
运行结果:
要修改的话很方便哦!(我也注意了魔数的问题)
查看全文
相关阅读:
两个单向链表的第一个公共节点
c字符输出
堆排序
归并排序
LR中,URL -based script与HTML -based script区别
loadrunner文本检查点
Loadrunner集合点Rendezvous知识
连接池(Connection Pool)技术
lucene 查询 (转载)
Lucene + Hadoop 分布式搜索运行框架 Nut 1.0a9转自http://www.linuxidc.com/Linux/2012-02/53113.htm
原文地址:https://www.cnblogs.com/jjtx/p/2533485.html
最新文章
Prometheus监控实战day1-监控简介
Centos7之阿里Arthas部署
wget下载速度太慢怎么办?快来试试mwget
K8S使用入门-添加一个node
Centos7.3之K8S安装初体验
一招教你预防rm -rf误删文件,避免删库跑路的悲剧
Zabbix使用主动模式进行监控配置方法
Rancher容器目录持久化
Centos7基础之查看NETMASK,GATWAY,DNS小技巧
Centos7时区修改方法汇总
热门文章
Centos7根据yum源安装指定版本docker
Centos7快速安装Rancher
Prometheus安装部署和监控MySQL,并在grafana上展示
Centos7安装文件传输软件rz sz
Centos7安装Go语言环境
请不要做一个愚蠢的运维——如何避免踩坑
Centos7安装部署Rabbitmq教程
Centos7安装部署MongoDB教程
通信中的爱尔兰什么意思
MAC层作用
Copyright © 2011-2022 走看看