2019编辑C++程序设计期末考核选题.doc 下载本文

.

C++程序设计期末考试选题

考试要求:

1、要求利用C++课程上学习的基础编程技巧来完成程序的设计;在设计的过程中,要建立清晰的类并正确使用相应的数据类型;在系统设计中要分析类与类之间的关系,将查找和排序的算法独立出来形成为单独的函数。正确使用继承、重载和多态等技巧。

2、如果有数据交互的地方,要求对用户输入的数据都进行有效性验证,以保证程序的正常运行。

考试目的:

1、加深对面向对象设计中基础理论和基本知识的理解,培养学生的实践能力,促进理论与实践的结合。通过课程设计,让学生能够熟练运用C++进行面向对象编程,建立对象模型,降低软件的复杂性,改善软件的重用性和维护性,提高软件的生产效率,全面掌握面向对象编程技术。

2、通过程序设计,掌握面向对象程序设计语言C++,培养调查研究、查阅技术文献、资料、手册以及编写技术文献的能力指导等。

§ 1人或2人合作完成,作为期末考试,满分30分。 § 完成后,向教师演示程序的运行和回答教师的问题,老师对每位同学提问3次,时间大概5分钟。

3、有效时间:从第15周-第16周,可利用上机时间向教师提交程序。每道题目最高分为习题前面所列分值。

.

.

选题1:银行类的设计(20分)

设计一个Bank类,帮助实现银行某账号的资金往来账目管理,包括建账号、存入、取出等。

Bank类包括五个私有数据成员:

Top(当前账指针),data(日期),money(金额),rest(余额和sum(累计余额)。

除一个构造函数外,还有以下三个成员函数: Void bankin(char d[],int m): //处理存入账 Void bankout(char d[],int m); //处理取出账

Void disp(); //输出明细账

现程序已经给出Bank()成员函数的实现,请补充完整Bank类数据和函数的定义以及其他两成员函数的实现。

程序运行时的结果如下:

日期 存入 取出 余额

2005.6.5 3000 3000 2005.7.2 1000 4000 2005.8.1 600 3400 2005.8.5 400 3000

.

.

选题2:MyString类的设计(20分)

用C++语言定义MyString(包括成员函数的实现代码),使之能符合下面程序及在注释中描述的运行结果的要求:

int main() {

MyString s1 = \ s1.display(); // 此时显示出: <0123456789> s2.display(); // 此时显示出(<>之间是五个空格): < > s3.display(); // 此时显示出: <>

s4.display(); // 此时显示出: <0123456789> s3 = s1;

s3.display(); // 此时显示出: <0123456789> s3 = 3+s3;

s3.display(); // 此时显示出: <0123456789999> s2 = s1[2];

s2.display(); // 此时显示出: <23456789> s1.display(); // 此时显示出: <0123456789> s3 = s2++;

s2.display(); // 此时显示出: <3456789> s3.display(); // 此时显示出: <23456789> return 0; }

.