设为首页 加入收藏

TOP

3.10 编程习题(1)
2013-10-07 15:33:11 】 浏览:375
Tags:3.10 编程 习题

3.10   编程(www.cppentry.com)习题(1)

3-1 设计一个Car类,它的数据成员要能描述一部汽车的品牌(如Honda),型号(如Civic),出厂年份和价格。类接口所包括的成员函数应提供合适的途径来访问数据成员(如汽车的款式或它的价格)。此外,类还应该有一个compare成员函数,用来对两辆车进行比较:

compare成员函数还能输出一份简短的结果比较报告。

3-2 国际标准图书编号(ISBN)由被破折号分开的10个数字组成,如0—670—82162—4。一个ISBN分成四个部分:组代码、出版社代码、书籍代码(在该出版社内惟一)、校验码。

例如,ISBN 0—670—82162—4的含义是:组代码是0,表明这本书来自说英语的国家;出版社代码为670,标识这本书是由Viking Press发行的;82162是这本书在Viking Press的编号;校验码的计算方法如下所示:

按如下方法计算一个总和:ISBN中第一个数字加上第二个数字的两倍加第三个数字的三倍 ... ,一直加到第九个数字的九倍为止。

将上述总和除以11得到余数,如果余数为10,则最后一个特征值为X;如果不为10,则最后一个特征值就是这个余数。

例如,ISBN 0—670—82162—4的总和是:

0 + 2×6 + 3×7 + 4×0 + 5×8 + 6×2 + 7×1 + 8×6 + 9×2=158

当158除以11时余数为4,即为ISBN的最后一个特征值。

设计一个类来表示一个ISBN,并为其设计成员函数,用来对字符串形式的ISBN进行存取,同时还能检查ISBN的有效性。

3-3 设计一个类Book用来描述一本书的有关信息,包括这本书的书名、作者、出版商、城市、出版日期和价格,同时还应该包含数据成员

ISBN类的设计参见习题3-2。

3-4 设计一个Calendar类,使其公有接口包含的成员函数具有如下功能:

指定一个起始年,如1776或1900。

指定一段时期,如1年或100年。

指定普通的假期,如星期天。

指定特定的假期,如十一月的第三个星期二。

指定一个年和月,如July-1776,日历显示特定的年月。

对假日进行标记,使其在任何年月的日历上都很醒目。

3-5 实现一个CollegeStudent类,包含name、year、expectedGrad、major、minor、GPA、coursesAndGrades和maritalStatus等数据成员,要求在类的公有接口中,至少要有六个成员函数。例如,设计一个成员函数,利用coursesAndGrades来计算GPA,以决定GPA指标的高低。设计另一个成员函数,用来显示CollegeStudent的当前课程量,并将剩余的必修课打印出来。

3-6 设计一个Deck类用来表示一副52张的扑克牌,公有接口必须包括用于洗牌、发牌、显示牌局中各方玩牌者所拿的牌以及比较牌的大小关系(如Q比J大)等这样的成员函数。要模拟洗牌,可以利用rand这样的库函数。

3-7 设计一个Profession类,包含如下数据成员:name,title,credentials,education,avgIncome。类的公有接口要求包括通过数据成员比较Profession的成员函数。该类至少要有12个数据成员和12个成员函数。

3-8 设计一个用于字符串的队列(Queue)类。队列是一种列表,可以包含零个或多个元素,其元素的增删遵守先进先出原则,即新增元素放到队列的末尾,而元素的删除从队列的开头进行。如果队列为空,则不能进行删除操作,如果队列已满,则不能进行新增操作。

3-9 设计一个用于字符串的双端队列(Deque)类。双端队列是一种列表,可以包含零个或多个元素,与普通队列不同的是,在双端队列的前端和后端均可以进行新增和删除操作。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇3.10 编程习题(2) 下一篇3.8.2 课后练习

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目