收藏 分销(赏)

C++程序设计上机题.doc

上传人:s4****5z 文档编号:8794195 上传时间:2025-03-02 格式:DOC 页数:8 大小:51KB
下载 相关 举报
C++程序设计上机题.doc_第1页
第1页 / 共8页
C++程序设计上机题.doc_第2页
第2页 / 共8页
点击查看更多>>
资源描述
第一部分 链表相关联系 1.做一个函数fun(int,int)。在主函数中定义两个变量int a,b。请设计一个程序能够反映值传递无法对实参进行改变。 2.做一个函数fun(int &,int &)。在主函数中定义两个变量int a,b。请设计一个程序能够反映引用传递对实参的改变。 3.做一个函数fun(int *,int *)。在主函数中定义两个变量int a,b。请设计一个程序能够反映指针传递对实参的改变。 4.定义一个结构体 Struct A { int a; A *p; }; a.请手动建立一个含有三个元素的链表,链表中所有的元素都是A类型的。 b.请用图来描述你的建表过程。 c.请手动插入一个节点。 d.请手动删除一个节点。 e.请将上述内容改成自动的过程,也就是用循环结构。 f.请做一个查找函数,完成对某个节点的查找。 第一部分 类和对象 1. 集合是具有共同属性(共性)而又能互相区别(个性)的多个成员的汇集起来的整体,构成集合的每个成员称为集合的元素,元素间没有顺序关系。例如:所有的大写英文字母是一个集合,它包括26个元素:A,B,…,Z。不包含任何元素的集合称为空集合。 【要求】自定义一个集合类set,采用数组存放集合的元素。自定义集合运算包括以下操作: (1) 判断元素elem是否为集合set的元素 (2) 为集合添加一个元素elem (3) 从集合中删除一个元素elem (4) 复制一个集合,其元素与原集合完全一样 (5) 显示集合中的所有元素 (6) 求两个集合中相同的元素,即求两个集合的交集 (7) 求两个集合中所有的元素,即求两个集合的并集 (8) 判断两个集合包含的元素是否完全相同 (9) 判断一个集合是否被包含在另一个集合之中,即是否为另一个集合的子集 2. 编程:建立一个分数类。分数类的数据成员包括分子和分母,操作包括约分、通分、加、减、乘、除、求倒数、比较、显示和输入。分类数的定义如下: class fraction { int above;//分子 int below;//分母 void reduction();//约分 void makeCommond(fraction);//通分 public: fraction(int=0;int=1);//构造函数 fraction add(fraction);//两个分数相加 fraction sub(fraction);//两个分数相减 fraction mul(fraction);//两个分数相乘 fraction div(fraction);//两个分数相除 fraction reciprocal();//求倒数 bool epual(fraction);//等于运算 bool greaterThan(fraction);//大于运算 bool lessThan(fraction); void display(); void input(); }; 【要求】完成以上所有成员函数并进行检查 第二部分 关于类和对象的进一步讨论 1. 请你设计一个程序,在这个程序能够完成这样的任务: a.能够显示不带参数以及带参数的构造函数的调用情况 b.能够显示重载构造函数的调用情况 c.能够显示带默认参数的构造函数的调用情况 d.能够反映构造函数和析构函数的调用顺序 2. 商店销售某一商品,商店每天公布统一的折扣(discount)。同时允许销售人员在销售时灵活掌握售价(price),在此基础上,对一次购10件以上者,还可以享受9.8折优惠。现已知当天3名销货人员的销售情况为: 销货员号(num) 销货件数(quantity) 销货单价(price) 101 5 23.5 102 12 24.56 103 100 21.5 a.实现描述超市的的类Suppermacket类,记录系统中现有商品(用指针实现),定义增加商品的函数Append,删除商品的函数Delete,查询商品的函数Query,并显示查询结果;  b.定义商品类Goods,具有商品名称Name,商品价格Price,商品数量number等属性,操作Sale(销售商品,余额不足时给予提示)、Add(商品上架操作)和ShowMe(显示商品信息)。 重载输入“>>”操作符。 c.编写main函数,测试以上所要求的各种功能,即可以根据菜单命令增加、删除和查询商品,以及商品销售和商品上架的操作。 第三部分 运算符重载 1. 定义复数的类Complex并测试其功能: a.. 复数由实部、虚部两个部分组成,在类的定义中应包含保存这两部分信息的内容。 b. 在类中定义构造函数,使用户能够在构造对象的同时为对象赋初值。 c. 在类中定义复数的加法、减法、乘法三个二元操作符来完成复数间的加、减、乘的功能。 d. 通过重载“<<”,使得Complex类的对象能够显示其自身信息。 e. 通过显示定义一个成员函数完成对象的赋值操作,使用户能够对Complex类的对象进行赋值。 f. 编写一段主程序(main函数),使用户能够通过这段主程序输入复数并进行复数的计算。 2. 编程把加法运算符重载为友员函数,实现复数与实数的重载。 第四部分 继承与派生 1.有一个类,如下代码,现要求以其为基类,再写一个类,采用继承的方式实现程序的加减乘除运算。 class math { public: protected: float a; float b; private: math() { } math(float x,float y) { a=x; b=y; } void geta() { cout<<"a:"<<a<<endl; } void getb() { cout<<"b:"<<b<<endl; } void plus() { float z; z=a+b; cout<<z<<endl; } void minus() { float z; z=a-b; cout<<z<<endl; } }; 2.设计一个大学人员管理的程序。该程序可以管理大学的几类人员:学生(student),教员(faculty),教授(professor)。这个程序所解决的问题是一个我们比较熟悉的真实世界中的问题。(用到了虚基类,person) Person类是所建立的类体系的公共的根,它封装着这个问题中各类人员的共性。为简化程序,我们只选择在person类中描述人名和年龄。Student类是对一类具体对象的描述,我们在这里只关心一个学生的专业方向。Faculty类描述教员,我们关心这类人员在哪个系任教。Professor类描述教授,教授是一个特殊的教员,我们不但关心他所任教的系,同时也关心他是不是博士生导师。所以我们从faculty类派生出professor类,在professor类中增加faculty 类所不具备的特征。在职攻读学位的学生既是一个学生,又具有教员的属性,所以studentFacult类应该从student类和faculty类派生。下图显示出各个类的继承关系。请完成。person student faculty studentFaculty professor 第五部分 多态性与虚函数 1. 输入圆柱体的底圆半径和圆柱体的高,求出底面面积、表面积、及其体积。要求用虚函数实现。 第六部分 输入输出流 目的: 通过练习能够掌握C++的流类以及会使用流类来定义对象。 1.编写一个程序统计文件A.TXT文件的字符个数。 2.编写一个程序,在二进制文件file.dat中写入三条记录,显示其内容,然后删除第2条记录,显示删除记录后的文件内容。 3.作为某公司的客户跟踪系统的一部分,创建包含以下功能的菜单驱动应用程序:(1)接收用户信息;(2)在文件中保存用户信息;(3)显示已经存在用户的信息;(4)查询并显示相关信息;(5)推出应用程序。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服