【计算机类职业资格】二级C++-47及答案解析.doc
《【计算机类职业资格】二级C++-47及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C++-47及答案解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C+-47及答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 prog1下的工程 prog1,该工程中包含程序文件main.cpp,其中有 Salary(“工资”)类和主函数 main的定义。程序中位于每个“/ERROR*found*”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为: 应发合计:3500 应扣合计:67.5 实发工资:3432.5 注意:只修改每个“/ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include iostream usi
2、ng namespace std; class Salary public: Salary(const char * id, double the_base, double the_bonus, double the_tax) /ERROR *found* :the_base(base), the bonus (bonus), the tax(tax) staff_id=new charstrlen(id)+1; strcpy(staff_id, id); /ERROR *found* Salary() delete * staff id; double getGrossPay() const
3、 returnbase +bonus; /返回应发项合计 double getNetPay()const return getGrossPay() -tax; /返回实发工资额 private: char * staff_id; /职工号 double base; /基本工资 double bonus; /奖金 double tax; /代扣个人所得税 ;int main() Salary pay(“888888“, 3000.0, 500.0, 67.50); cout “应发合计:“ pay.getGrossPay() “; cout “应扣合计:“ pay. getGrossPay()
4、-pay.getNetPay() “; /ERROR *found* cout “实发工资:“ pay:getNetPay() endl; return 0; (分数:30.00)_二、B简单应用题/B(总题数:1,分数:30.00)2.请使用 VC6或使用答题菜单打开考生文件夹 prog2下的工程 prog2。此工程中包含一个程序文件main.cpp,其中有“部门”类 Department和“职工”类 Staff的定义,还有主函数 main的定义。在主函数中定义了两个“职工”对象,他们属于同一部门。程序展示,当该部门改换办公室后,这两个人的办公室也同时得到改变。请在程序中的横线处填写适当的代
5、码并删除横线,以实现上述类定义。此程序的正确输出结果应为: 改换办公室前: 职工号:0789 姓名:张三 部门:人事处 办公室:521 职工号:0513 姓名:李四 部门:人事处 办公室:521 改换办公室后: 职工号:0789 姓名:张三 部门:人事处 办公室:311 职工号:0513 姓名:李四 部门:人事处 办公室:311 注意:只在横线处填写适当的代码,不要改动程序中的其他内容。 #include iostream using namespace std; class Department /“部门“类 public: Department (const char * name,con
6、st char * office) strcpy(this -name, name); /* found* _ oonst char * getName () const return name; /返回部门名称 /* found* const char * getOffice ()const_ /返回办公室房号 void changeOfficeTo(const char * office) /改换为指定房号的另一个办公室 strcpy(this -office, office); private: char name20; /部门名称 char office20; /部门所在办公室记号 ;
7、 class Staff /“职工“类 public: /*found* Staff (const char * my id, constchar * my_name, Department _ strcpy (this - staff_id, my_id); strcpy (this - name, my_name ); const char * getID () const returnstaff_id; const char * getName () const return name; Department getDepartment () constreturn dept; priv
8、ate: char staff_id10; /职工号 char name20; /姓名 Department /所在部门 ; void showStaff(Staff cout “姓名:“ staff.getName () “; cout “部门:“ staff.getDepartmerit ().getName () “; cout “办公室:“ staff, getDepartment(). getOffice() endl; int main() Department dept(“人事处“, “521“); Staff Zhang (“0789“, “张三“, dept), Li(“05
9、13“, “李四“, dept); cout “改换办公室前:“ endl; showStaff(Zhang); showStaff(Li); /人事处办公室由521搬到 311 /*found* _ cout “改换办公室后:“ endl; showStaff(Zhang); showStaff(Li); return 0; (分数:30.00)_三、B综合应用题/B(总题数:1,分数:40.00)3.请使用 VC6或使用答题菜单打开考生文件夹 prog3下的工程 prog3,其中包含了类TaxCalculator(“个税计算器”)和主函数 main的定义。创建“个税计算器”需要接收税率表信
10、息和起征额信息。在 main函数中,通过两个数组创建了如下的税率表: 下标 适用收入段下限(lower_limits)适用税率(rates) 说明:适用的收入段为0 0 5 大于 0小于等于 5001 500 10 大于 500小于等于 20002 2000 15 大于 2000小于等于 50003 5000 20 大于 5000小于等于 200004 20000 25 大于 20000小于等于 400005 40000 30 大于 40000小于等于 600006 60000 35 大于 60000小于等于 800007 80000 40 大于 80000小于等于 1000008 10000
11、0 45 大于 100000利用这个税率表创建“个税计算器”时,假定起征额为 2000元(即不超过 2000元的所得不征收个人所得税)。请补充完成计算应纳个人所得税额的成员函数 getTaxPayable,其中的参数 income为月收入。此程序的正确输出结果应为: 月收入为 800元时应缴纳个人所得税 0元 月收入为 1800元时应缴纳个人所得税 0元 月收入为 2800元时应缴纳个人所得税 55元 月收入为 3800元时应缴纳个人所得税 155元 月收入为 4800元时应缴纳个人所得税 295元 月收入为 5800元时应缴纳个人所得税 455元 注意:只能在函数 getTaxPayable
12、中的“/*333*”和“/*666*”之间填入若干语句,不要改动程序中的其他内容。 /TaxCalculator.h #includeiostream #includeiomanip using namespace std; class TaxCalculator public: TaxCalculator (double the_limits, double the_rates , int the_length, double the threshold) : lower_limits (new double the_length), rates ( new double the_lengt
13、h), list_fen (the_length), thresh-old (the_threshold) for(int i=0; ilist_len; i+) lower_limitsi = the_limitsi; ratesi=the_ratesi; TaxCalculator() delete lower_limits; delete rates; double getTaxPayable (double income) const; /返回指定月收入的应纳个人所得税额 void showTaxPayable (double income)const; /显示指定月收入的应纳个人所得
14、税额 private: double * lower_limits; /适用收入段下限 double * rates; /适用税率 int list len; /税率表项数 double threshold; /起征额 ; void writeToFile(const char * path); /TaxCalcnlator.cpp #include “TaxCalculator.h“ double TaxCalculator:getTaxPayable (double income)const double taxable =income-threshold;/应纳税工资额 double t
15、ax_payable = 0.0; /应纳个人所得税额 int i=list_len-1; while (i=0) /* 333* /* 666* -i; return tax_payable; void TaxCalculator: showTaxPayable (double income) const cout “月收入为“ setw (6) income “元时应缴纳个人所得科名“ setw (4)getTaxPayable (income) “元“ endl; /main. cpp #include “TaxCal culator, h“ int main () double lim
16、its = 0.0, 500.0,2000.0, 5000.0, 20000.0, 40000.0,60000.0, 80000.0, 100000.0; double rates = 0.05, 0.1, 0.15,0.2, 0.25, 0.3, 0.35, 0.4, 0.45; TaxCalculator calc (limits, rates,9, 2000.0); calc.showTaxPayable (800.0); calc.showTaxPayable(1800.0); calc.showTaxPayable(2800.0); calc.showTaxPayable(3800.
17、0); calc.showTaxPayable(4800.0); calc.showTaxPayable(5800.0); writeToFile (“); return 0; (分数:40.00)_二级 C+-47答案解析(总分:100.00,做题时间:90 分钟)一、B基本操作题/B(总题数:1,分数:30.00)1.请使用 VC6或使用答题菜单打开考生文件夹 prog1下的工程 prog1,该工程中包含程序文件main.cpp,其中有 Salary(“工资”)类和主函数 main的定义。程序中位于每个“/ERROR*found*”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应
18、为: 应发合计:3500 应扣合计:67.5 实发工资:3432.5 注意:只修改每个“/ERROR*found*”下的那一行,不要改动程序中的其他内容。 #include iostream using namespace std; class Salary public: Salary(const char * id, double the_base, double the_bonus, double the_tax) /ERROR *found* :the_base(base), the bonus (bonus), the tax(tax) staff_id=new charstrlen
19、(id)+1; strcpy(staff_id, id); /ERROR *found* Salary() delete * staff id; double getGrossPay() const returnbase +bonus; /返回应发项合计 double getNetPay()const return getGrossPay() -tax; /返回实发工资额 private: char * staff_id; /职工号 double base; /基本工资 double bonus; /奖金 double tax; /代扣个人所得税 ;int main() Salary pay(
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 C47 答案 解析 DOC
