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; }
运行结果:
要修改的话很方便哦!(我也注意了魔数的问题)
查看全文
相关阅读:
基于百度翻译API开发属于自己的翻译工具
.NET轻量级MVC框架:Nancy入门教程(二)——Nancy和MVC的简单对比
基于uploadify.js实现多文件上传和上传进度条的显示
浅析Ajax跨域原理及JQuery中的实现分析
认识SQLServer索引以及单列索引和多列索引的不同
用VS添加引用dll也会出错?你遇到过吗?
.NET轻量级MVC框架:Nancy入门教程(一)——初识Nancy
免费打造自己的个人网站,免费域名、免费空间、FTP、数据库什么的,一个不能少,没钱,也可以这么任性
【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-6底层驱动之多路开关选择器
【6集iCore3_ADP触摸屏驱动讲解视频】6-4 底层驱动之SDRAM读写(上)
原文地址:https://www.cnblogs.com/jjtx/p/2533485.html
最新文章
【Windows】windows核心编程整理(下)
【Windows】windows核心编程整理(上)
【算法】算法的艺术
【算法】系统和文件操作
【算法】算法中的趣味数学(三)
【算法】算法中的趣味数学(二)
【算法】算法中的趣味数学(一)
【算法】算法的应用(三)
【算法】算法的应用(二)
【教程】minicom使用教程
热门文章
【算法】算法的艺术(一)
【算法】算法的艺术(二)
【算法】算法的艺术(三)
hdu1520
poj3341
zju3547
zju3545
hnu11187
解决Win7 软件图标不显示--Win7图标异常,快捷方式不显示解决方法
Android Studio 1.0.1 + Genymotion安卓模拟器打造高效安卓开发环境
Copyright © 2011-2022 走看看