[计算机类试卷]国家二级C++机试(操作题)模拟试卷498及答案与解析.doc
《[计算机类试卷]国家二级C++机试(操作题)模拟试卷498及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级C++机试(操作题)模拟试卷498及答案与解析.doc(7页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级 C+机试(操作题)模拟试卷 498及答案与解析 一、基本操作题 1 请打开考生文件夹下的解决方案文件 proj1,该工程中包含程序文件main cpp,其中有 Salary(“工资 ”)类和主函数 main的定义。程序中位于每个 “ERROR*found*”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为: 应发合计: 3500应扣合计: 67 5实发工资: 3432 5 注意:只修改每个 “ ERROR*found*下的那一行,不要改动程序中的其他内容。 #include iostream using namespace std; class Salary public
2、: 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); *found* Salary( )delete*staff_id; double getGrosSPay( )constreturn base+bonus; 返回应发项合计 double getNetPay( )cons
3、treturn getGrossPay( )-tax; 返回实发工资额 private: char*staff id;职工号 double base;基本 i焱 double bonus;奖金 double tax;代扣个人所得税 ; int main( ) Salary pay(“888888“, 3000 0, 500 0, 67 50); cout “应发合计: “ pay getGrossPay( ) “ “; cout “应扣合计: “ pay getGrossPay( )-pay getNetPay( ) “ “; ERROR*found* cout “实发工资: “ pay: g
4、etNetPay( ) endl; return0; 二、简单应用题 2 请打开考生文件夹下的解 决方案文件 proj2,该工程中含有一个源程序文件proj2 cpp。其中定义了类 Set和用于测试该类的主函数 main。类 Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复 (将 “a”和 “A”视为不同元素 ),元素最大个数为 100。为该类实现一个构造函数 Set(char*s),它用一个字符串来构造一个集合对象,当字符串中出现重复字符时,只放入一个字符。此外,还要为该类实现另一个成员函数 InSet(char c),用于测试一个字符 c是否在一个集合中,若在,则返回 tru
5、e;否则返回 false。 构造函数 Set和成员函数 InSet的部分实现代码已在文件 proj2 cpp中给出,请在标有注释 “ TODO: ”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。 提示:在实现构造函数时,可以调用 InSet函数来判断一个字符是否已经在集合中。 注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动 “ *found*”。 proj2 cpp #include iostream using namespace std; const int NAXNUN=100; class Set: private: int hum;元素个数 c
6、har setdataNAXNUN;字符数组,用于存储集合元素 public: Set(char*s);构造函数,用字符串 s构造一个集合对象 bool InSet(char c); 判断一个字符 c是否在集合中,若在,返回 true,否则返回 false void Print( )const;输出集合中所有元素 ; Set: Set(char*s) num=0; while(*s) *found* if(_) TODO:添加代码,测试元素在集合中不存在 *found* _; TODO:添加一条语句,加入元素至集合中 s+; bool Set: InSet(char c) for(inti=0
7、; i num; i+) *found* if(_) TODO:添加代码,测试元素 c是否与集合 中某元素相同 *found* _; TODO:添加一条语句,进行 相应处理 return false; void Set: Print( )const cout “Set elements: “ endl; for(int i=0; i num; i+) cout setdatai ; cout endl; int main( ) char sMAXNUM; cin getline(s, MAXNUM-1); 从标准输入中读入一行 Set setobj(s);构造对象 setobj setobj
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 机试 操作 模拟 498 答案 解析 DOC
