C++ 个人所得税
題目描述
假設某城市個人所得稅的稅基是2000元,而其征收個人所得稅的規定如下:不超過稅基免征稅,按超過稅基部分征收所得稅。超過部分在2000元以下,征收5%;5000元以下,征稅10%;10000元以下,征稅15%;10000元以上,征稅20%。建立一個incomec類,共包含的數據成員和成員函數如下:
income數據成員,表示職工的實際收入;
wage數據成員,表示職工工資;
taxrate數據成員,表示稅率;
setWage(double m)成員函數,設置工資值;
getTaxrat()成員函數,計算稅率;
calIncome()成員函數,計算職工的實際收入;
在主函數中,實例化不同的incomec類對象,并計算它們的實際收入
輸入描述
職工工資輸出描述
職工的實際收入輸入樣例
1500 3100 6000 11000 21000輸出樣例
1500 3045 5600 9650 17200程序代碼
#include <iostream> #include <cstring>using namespace std;class Incomec{ // 建立一個incomec類private:float income;static double wage; // wage數據成員,表示職工工資;static double taxrate; // taxrate數據成員,表示稅率;public:incomec(); void setWage(double m); // setWage(double m)成員函數,設置工資值;static double getTaxrat(); // getTaxrat()成員函數,計算稅率;static double calIncome(); // calIncome()成員函數,計算職工的實際收入; };Incomec::incomec(){ }void Incomec::setWage(double salary){wage = salary; }double Incomec::calIncome(){return wage - (wage - 2000) * taxrate;}// 超過部分在2000元以下,征收5%;5000元以下,征稅10%;10000元以下,征稅15%;10000元以上,征稅20%。 double Incomec::getTaxrat(){if (wage <= 2000){taxrate = 0;} else if (wage < 4000){taxrate = 0.05;} else if (wage < 7000){taxrate = 0.1;} else if (wage <= 12000){taxrate = 0.15;} else {taxrate = 0.2;} return taxrate; }double Incomec::taxrate = 0; double Incomec::wage = 0;int main(){ // 在主函數中,實例化不同的incomec類對象,并計算它們的實際收入Incomec *incomec = new Incomec();double salary;for(int i = 0; i < 5; i++){cin >> salary;incomec -> setWage(salary);incomec -> getTaxrat();cout << incomec -> calIncome() << endl;}delete incomec;return 0; }總結
- 上一篇: C++ 设计员工类(Employee)
- 下一篇: CentOS使用yum安装Docker