×

北大面向对象程序设计上机考试试题

消耗积分:2 | 格式:rar | 大小:333 | 2009-01-06

分享资料个

1、实现描述超市的的类Suppermacket类,记录系统中现有商品(用指针实现),定义增加商品的函数Append,删除商品的函数Delete,查询商品的函数Query,并显示查询结果; 
2、定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。 重载输入“>>”操作符。
3、编写main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。
(二)
  一、(20%)定义复数的类Complex并测试其功能:
  1. 复数由实部、虚部两个部分组成,在类的定义中应包含保存这两部分信息的内容。
  2. 在类中定义构造函数,使用户能够在构造对象的同时为对象赋初值。
  3. 在类中定义复数的加法、减法、乘法三个二元操作符来完成复数间的加、减、乘的功能。
  4. 通过重载“<<”,使得Complex类的对象能够显示其自身信息。
  5. 通过显示定义一个成员函数完成对象的赋值操作,使用户能够对Complex类的对象进行赋值。
  6. 编写一段主程序(main函数),使用户能够通过这段主程序输入复数并进行复数的计算。
  二、(30%)二维直角坐标系中图形信息的描述和显示:
  1. 定义一个类Point来表示坐标系中点的位置信息。
  2. 定义一个基类Shape,在其中定义虚函数show()来显示具体图形信息。
  3. 分别定义类来表示坐标系中矩形、圆和三角形的位置信息。在这几个类中通过分层原则利用类Point;利用多态性来实现对各种图形信息的统一输出方式。
  4. 编写一段主程序来测试上面定义的类。
  三、(50%)栈模板及其实例的使用:
  1. 利用类模板实现一个通用的栈模板。要求这个栈模板能够完成一般栈的基本操作(栈元素为基本数据类型,不包括指针、数组以及对象):向栈中压入一个元素(push)、取栈顶元素的值(top)、弹出栈顶元素(pop)、清空栈(empty)、判断栈是否为空(isEmpty)。
  2. 编写一段主程序,要求主程序中生成整型、浮点型、字符型的栈实例各一个并分别测试其功能。
  说明:这是北京大学计算机应用专业的系统班(业余)2001年10月份的上机考试题,该上机考题只适用于北大系统班的的学生!其他考生可以参考!
  (三)
  1、定一个基类Mygraph,要求有一个纯虚函数double Area()=0,
  2、从基类派生一个圆类Mycircle和一个矩形类Rangleter,并给出Area()实现;重载“>>” ,实现对图形信息的输入;
  3、计算圆形的面积和矩形的面积,并显示输出。
  (四)
  建立一个简单的学校人员管理系统,包括对学生、员工和在职学生(既是员工又是学生)的管理。需要完成如下功能:
  1、建立一个SCHOOL类,在其中定义按照姓名增加人员的APPEND函数,删除人员的DELETE的函数和SEARCH的查询函数(以姓名为为准)。
  2、建立一个基类PERSON类,要具有姓名和性别的属性,并把输出函数SHOWME()定义为纯虚函数;
  3、建立一个员工STAFF类和一个学生类,均由PERSON继承而来。要求可以输出员工类(学生类)对象的属性(姓名、性别和工作证号码(或学生学号),分别写出对SHOWME()函数的具体实现。
  4、建立一个在职学生类STAFF_STUDENT类,由员工类和学生类继承而来。写出对SHOWME()函数的具体实现,可以输出对象属性,。
  5、重载,实现用CIN为员工类、学生类和在职学生类对象赋值。
  6、编写MAIN()主函数,测试上述功能,并以菜单方式实现对各种人员的增加、删除和查询(以姓名为线索)。
  (五)
  从键盘读入两个字符串,每个串<50个字符
  1、    输入输出都要求有提示信息,且提示信息独占一行!
  2、    比较两个字符串是否相等,如果输入字符个数相等且相对应位置的字符也相同则输出Yes,否输出NO
  3、    如果两个字符串的英文小写字母个数相同,则输出Yes,否输出NO
  4、    比较两个字符串长度,十进制输出较大者的长度
  5、    生成文件m7.asm,可执行文件为m7.exe
  (1,2,5及格。完成1,2,3,5良。完成1,2,3,4,5优。)
  (六)
  实现一个图形栈,栈的元素为图形(可以是圆形,也可以是矩形)。根据对菜单的选择实现具体图形信息的显示及栈的相关操作。
  1、定义一个栈类Stack,它具有栈的大小属性Size(即栈最多可容纳的元素个数),具有对图形元素(可以是圆形,也可以是矩形)的push,pop,top(显示栈顶元素信息)操作。
  2、定义一个Element基类,其至少包含一个纯虚函数ShowMe()以显示图形信息(可以是圆形,也可以是矩形的信息),圆形信息为圆心,半径;矩形信息为左上角点,右下角点。
  3、定义Element的派生类MyCircle(圆形类)和MyRectangle(矩形类),以实现图形信息的显示。
  4、重载输入运算符,使用户能一次性输入图形信息(可以是圆形,也可以是矩形信息)。
  5、编一测试程序进行测试。
  提示:
  class Element
  public:
  virtual void ShowMe() = 0;
  (七)
  北大面向对象程序设计上机考试题(9月20日)
  文章类型:自学考试
  实现一个图形栈,栈的元素为图形(可以是圆形,也可以是矩形)。根据对菜单的选择实现具体图形信息的显示及栈的相关操作。
  1、定义一个栈类Stack,它具有栈的大小属性Size(即栈最多可容纳的元素个数),具有对图形元素(可以是圆形,也可以是矩形)的push,pop,top(显示栈顶元素信息)操作。
  2、定义一个Element基类,其至少包含一个纯虚函数ShowMe()以显示图形信息(可以是圆形,也可以是矩形的信息),圆形信息为圆心,半径;矩形信息为左上角点,右下角点。
  3、定义Element的派生类MyCircle(圆形类)和MyRectangle(矩形类),以实现图形信息的显示。
  4、重载输入运算符,使用户能一次性输入图形信息(可以是圆形,也可以是矩形信息)。
  5、编一测试程序进行测试。
  提示:
  class Element
  public:
  virtual void ShowMe() = 0;

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !