ImageVerifierCode 换一换
格式:DOC , 页数:7 ,大小:69.50KB ,
资源ID:497374      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-497374.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文([计算机类试卷]国家二级C++机试(操作题)模拟试卷298及答案与解析.doc)为本站会员(bowdiet140)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

[计算机类试卷]国家二级C++机试(操作题)模拟试卷298及答案与解析.doc

1、国家二级 C+机试(操作题)模拟试卷 298及答案与解析 一、基本操作题 1 请使用 VC6或使用【答题】菜单打开考生文件夹 prog1下的工程 prog1,该工程中包含程序文件 main epp,其中有 Salary(“工资 ”)类和主函数 main的定义。程序中位于每个 “ ERROR *found*”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为: 应发合计: 3500应扣合计: 67 5 实发工资: 3432 5 注意:只修改每个 “ ERROR *found”下的 那一行,不要改动程序中的其他内容。 #include iostream using namespace s

2、td; class Salary public: Salary(const char * id, doub_le the_base, double the_bonus, double the_tax) ERROR *found* : the_base(base), the bo_nus(bonus), the_tax(tax) staff_id new charstrlen(id) 1; strcpy(staff_id, id); ERROR *found* Salary()delete * staff_id; double getGrossPay()constreturn base bonu

3、s; 返回应发项合计 double getNetPay()constreturn 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() pay getNetPay() “; ERR

4、OR *found* cout “实发工资: “ pay getNetPay() end1; return 0; 二、简单应用题 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 f const char * name, const char木 office) strcpy(this nam

6、e, name); *found* const char * getName()constreturn name; 返回部门名称 *found* const char * getOffice()const_ 返回办公室房号 void changeOfficeTO (const char * office)改换为指定房号的另一个办公室 strcpy(this office, office); private: char name20; 部门名称 char office20; 部门所在办公室房号 ; class Staff “职工 ”类 public: *found* Staff(const ch

7、ar * my id, const charI=myname, Department&my_dept): _ strcpy(this staff_id, my_id); strcpy(this name, my_name; const char * getID()constreturn staff id; ) const char * getName()constreturn name; Department getDepartment() constreturn dept; private: char staff_id10;职工号 char name20;姓名 Department&dept

8、;所在 部门 ; void showStaff(Staff staff) cout “职工号: “ staff getID() “; cout “姓名: “ staff getName() “; cout “部 门: “ staff getDepartment() getName() “; cout “办公室: “ staff getDepartment() getOffice() end1; int main() Department dept(“人事处 “, “521“); Staff Zhang(“0789“, “张三 “, dept), Li(“0513“, “李四 “, dept);

9、 cout “改换办公室前: “ end1; showStaff(Zhang); showStaff(Li); 人事处办公室由 521搬到 311 *found* cout “改换办公室后: “ end1; showStaff(Zhang); showStaff(Li); return 0; 三、综合应用题 3 请使用 VC6或使用【答题】菜单打开考生文件夹 prog3下的工程 prog3,其中包含了类 TaxCalculator(“个税计算器 ”)和主函数 main的定义。创建 “个税计算器 ”需要接收税率表信息和起征额信息。在 main函数中, 通过两个数组创建了如下的税率表: 利用这个税

10、率表创建 “个税计算器 ”时,假定起征额为 2000元 (即不超过 2000元的所得不征收个人所得税 )。请补充完成计算应纳个人所得税额的成员函数 getTaxPayable,其中的参数 income为月收入。此程序的正确输出结果应为: 月收入为 800元时应缴纳个人所得税 0元 月收入为 1800元时应缴纳个人所得税 0元 月收入为 2800元时应缴纳个人所得税 55元 月收入为 3800元时应缴纳个人所得税 155元 月收人为 4800元时应缴纳个人所得税 295元 月收人为 5800元时应缴纳个人所得税 455元 注意:只能在函数 getTaxPayable中的 “ *333*”和“*6

11、66*”之间填入若干语句,不要改动程序中的其他内容。 TaxCalCUlator h#include iostream #include iomanip using namespace std; class TaxCalculatorpublic: TaxCal culator(double the_limits, double the_rates,int the_length, double the_ threshold) : lower_limits(new doublethe_length),rates(new doublethe_length), list_len(the_length

12、), threshold(the_threshold) for(int i 0; i list_len; i ) lower_limitsi the_ limitsi; ratesi the ratesi; TaxCalculator()deletelower limits; delete rates; double getTaxPayable(double income)const; 返回指定月收入的应纳个人所得税额 void showTaxPayable(double income)const;显示指定月收入的应纳个人所得税额Prirate: double * lower limits;适

13、用收入段下限 double * rates; 适用税率 int list_len;税率表项数 double threshold; 起征额 ; void writeToFile(const char * path); TaxCalcnlator cpp#include“TaxCal culator h“double TaxCalculatOr getTax-Payable(double income)const double taxable income thresh old;应纳税工资额 double tax_payable 0 0;应纳个人所得税额 int i list_len 1;从税率表

14、的最高适用段开始计算 while(i 0) *333* *666* i; return tax_payable; void TaxCalculator showTax Payable(double income)const cout “月收入为 “ setw(6) income “元时应缴纳个人所得税 “ setw(4)getTaxPayable(income) “元 “ end1; main cpp#include“TaxCalculator h“int main() double limits 0 0, 500 0,2000 0, 5000 0, 20000 0, 40000 0, 600

15、00 0, 80000 0, 100000 0;double rates 0 05, 0 1, 0 15, 0 2, 0 25, 0 3, 0 35, 0 4, 0 4 5); TaxCalculator calc(limits, rates, 9, 2000 0); calc showTaxPayable(800 0); calc showTaxPayable(1800 0); calc showTaxPayable(2800 0); calc showTaxPayable(3800 0); calc showTaxPayable(4800 0); calc showTaxPayable(5

16、800 0); writeToFile(“); return 0; 国家二级 C+机试(操作题)模拟试卷 298答案与解析 一、基本操作题 1 【正确答案】 (1): base(the_base), bonus(the_bonus), tax(the_tax) (2) Salary()deletestaff_id; (3)cout “实发工资: “ pay getNetPay() end1; 【试题解析】 (1)主要考查考生对构造函数的掌握情况,构造函数的成员初始列表要把形参放在括号内。 (2)主要考查考生对析构函数的掌握情况,析构函数使用 delete释放指针, delete后要跟标识符 “

17、”。 (3)主要考查考生对成员函数调用的掌握情况,调用类的成员函数使用标识符“ ”,而不是作用域符 “ ”。 二、简单应用题 2 【正确答案】 (1)strcpy(this office, office); (2)return office; (3)dept(my_dept) (4)dept changeOfficeTo(“311“); 【试题解析】 (1)主要考查考生对 strcpy函数的掌握情况,根据上一条语句:strcpy(this name, name);可知,这条语句复制的是 office,即 strcpy(this office, office);。 (2)主要考查考生对成员函数的

18、掌握情况,根据语句的注释:返回办公室房号可知,要填写的是一条: return语句。在私有成员里: char office20;部门所在办公室房号,表明 office即为办公室房号。因此直接返回 office即可。 (3)主要考查考生对构造函数的掌握情况,根据函数体: strcpy(this staff_id, my_id); strcpy(this name, my_name); 可知,只有 dept没有初始化,而空格前有字符 “: ”,这是成员列表初始化的标识符,因此填写 dept(my_dept)即可。 (4)主 要考查考生对成员函数的调用的掌握情况,根据题目要求:人事处办公室由 521搬

19、到 311。在 Department类中有函数 void changeOfficeTo(constchar * office)可以修改办公室的房间号,直接调用即可。 三、综合应用题 3 【正确答案】 if(income 2000) 如果收入小于 2000 return tax_payable; 直接 tex_payable(初始代为零 ) if(taxable lower_limitsi) 如果 taxable(收入超出起征额的部分 )大于 lower_limitsi阶段最低限额 tax_payable (taxable lower_limitsi) * ratesi; 把起过阶段最低限额的部分乘以该阶段的税率后,加到 tax_payable(个 人所得税 ) taxable lower_limitsi; 把 fower_limitsi赋值于 taxable 【试题解析】 主要考查考生对成员函数的掌握情况,根据题目要求可知,完成计算应纳个人所得税额的成员函数 getTaxPayable,其中参数 income为月收入。同时题目还表明:不超过 2000元的所得不征收个人所得税。因此先用 if语句判断是否要征收个人所得税。然后根据题目所给表格,来判断收入多少及应该收多少个人所得税。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1