首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件央prog3下的工程prog3,其中包含了类TaxCalculator(“个税汁算器”)和主函数main的定义?创建“个税计算器”需要接收税率表信息和起征额信息。存main函数中,通过两个数组创建了如下的税率表:
请使用VC6或使用【答题】菜单打开考生文件央prog3下的工程prog3,其中包含了类TaxCalculator(“个税汁算器”)和主函数main的定义?创建“个税计算器”需要接收税率表信息和起征额信息。存main函数中,通过两个数组创建了如下的税率表:
admin
2021-05-06
64
问题
请使用VC6或使用【答题】菜单打开考生文件央prog3下的工程prog3,其中包含了类TaxCalculator(“个税汁算器”)和主函数main的定义?创建“个税计算器”需要接收税率表信息和起征额信息。存main函数中,通过两个数组创建了如下的税率表:
利用这个税率表创建“个税计算器”时,假定起征额为2000元(即不超过2000元的所得不征收个人所得税)。请补充完成计算应纳个人所得税额的成员函数getTaxPayable,其中的参数income为月收入。此程序的正确输出结果应为:
月收入为800元时应缴纳个人所得税 0元
月收入为1800元时应缴纳个人所得税 0元
月收入为2800元时应缴纳个人所得税 55元
月收入为3800元时应缴纳个人所得税 155元
月收入为4800元时应缴纳个人所得税 295元
月收入为5800元时应缴纳个人所得税455元
注意:只能在函数getTaxPayable中的“//********333********”和“//********666********”之间填入若干语句,不要改动程序中的其他内容。
1 //TaxCalculator.h
2 #include
3 #include
4 using namespace std;
5 class TaxCalculator{
6 public:
7 TaxCalculat。r(double the_limits[],double the_rates[],int the_length,double the_threshold)
8 :lower_limits(new double[the_length ]),rates(new double [the_length]),
9 list_len(the_length),thresh-old(thethreshold){
10 for(int i=0;i
1l lower_limits
=the_limits
;
12 rates
=the_rates
;
13 }
14 }
15 ~TaxCalculator(){delete[]lower_limits;delete [ ] rates;}
16 double getTaxPayable(double in-come)const; //返回指定月收入的应纳个人所得税额
17 void showTaxPayable(double income)const; //显示指定月收入的应纳个人所得税额private:
18 double*lower limits; //适用收入段下限
19 double*rates; //适用税率
20 int list_len; //税率表项数
21 double threshold; //起征额
22 };
23 void writeToFile(const char*path);
1 //TaxCalcnlator.cpp
2 #include"TaxCalculator.h"
3 double TaxCalculator::getTaxPayable(double income)const{
4 double taxable=income-threshoid;
7 //应纳税工资额
8 double tax_payable=0.0;
9 //应纳个人所得税额
10 int i=list_len-1;
11 //从税率表的最高适用段开始计算
12 while(i>=0){
13 //********333********
14 //********666********
15 --i;
16 }
17 return tax payable;
18 }
19 void TaxCalculator::showTaxPayable
20 (double income)const{cout<<"月收入为"<
21 come<<"元时应缴纳个人所得税" <
22 come)<<"元"<
}
1 //main.cpp
2 #include"TaxCalculator.h"
3 int main(){
4 double limits[]={0.0,500.0,2000.0 r 5 000.0,20000.0,40000.0,60000.0,80000.0,100000.0};
5 double rates[]={0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45};
6 TaxCalculator calc(limits,rates,9,2000.0);
7 calc.showTaxPayable(800.0);
8 calc.showTaxPayable(1800.0);
9 calc.showTaxPayable(2800.0);
10 calc.showTaxPayable(3800.0);
H calc.sh。wTaxPayable(4800.0);
12 calc.showTaxPayable(5800.0);
13 writeToFile(" ");
14 return 0;
15 }
选项
答案
1 if(income<=2000)//如果收入小于2000 2 return tax_payable;//直接tex_payable(初始代为零) 3 if(taxable>lower limits[i]) 4 { //如果taxable(收入超出起征额的部分)大于lower limits[i]阶段最低限额 5 tax_payable+=(taxable-lower_limits[i])*rates[i];//把起过阶段最低限额的部分乘以该阶段的税率后,加到tax_payable (个人所得税) 6 taxable=lower_limits[i];//把fower_limits[i]赋值于taxable 7 }
解析
主要考查考生对成员函数的掌握情况,根据题目要求可知,完成计算应纳个人所得税额的成员函数getTaxPayable,其中参数income为月收入。同时题目还表明:不超过2000元的所得不征收个人所得税。因此先用if语句判断是否要征收个人所得税。然后根据题目所给表格,来判断收入多少及应该收多少个人所得税。
转载请注明原文地址:https://kaotiyun.com/show/xWfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{protect
下列运算符不能重载为友元函数的是()。
有如下两个类定义:classXX{private:doublex1;protected:doublex2;public:doublex3;};classYY:protectedXX{private:doubley1
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和C代码,完成空出部分的程序,实现函数fun(char*s1,char*s2)将字符串s2连接在字符串s1之后,构成一个首指针为s1的字符串。注意:不能修改函数的其他部分。
下列关于this指针的叙述中,正确的是()。
请打开考生文件夹下的解决方案文件proj1,其中在编辑窗口内显示的主程序文件中定义有Xabc类和主函数main。在程序文本中位于每行”//ERROR*********found*********下面的一行有错误,请加以更正。更正后程序的输出为:
在表达式x+y*z中,+是作为成员函数重载的运算符,木是作为非成员函数重载的运算符。下列叙述中正确的是()。
若要重载+、=、<<、==和口运算符,则必须作为类成员重载的运算符是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。(1)完成默认构造函数TestClass的定义,使得TestClass对象的类型为int,默认值为a=0,b=0,c=0,请在
随机试题
下列关于构造方法的叙述中,错误的是()。
X机滤线器一般使用的栅比为
A.幽门梗阻B.出血C.十二指肠球部后壁慢性穿孔D.急性穿孔E.癌变
尖锐湿疣的病原体为()
下列有关行使辩护权的论述中,哪些是错误的?
完成合同外的零星工作时,一般按()计算。
当患者遇到突发性事件时,表现为濒死感、失控感、大祸临头,我们称此人有()。
以下属于授权性规范的是()
待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第()个位置。
设数据库表中有一个C型字段NAME。打开表文件后,要把内存变量NAME的字符串内容输入到当前记录的NAME字段,应当使用命令:
最新回复
(
0
)