欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年《面向对象程序设计与C++》自编作业手册 .pdf

    • 资源ID:33393598       资源大小:144.11KB        全文页数:8页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年《面向对象程序设计与C++》自编作业手册 .pdf

    面向对象程序设计与C+自编作业手册翟高寿北京交通大学计算机学院2012 年 2 月名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 编修说明面向对象程序设计与C+ 自编作业手册根据自制电子课件2007-2008-II 版形成初稿并根据教学实践和多次修改完成。作业题标记说明:FS 复数运算程序ZD质点平面运动轨迹跟踪程序XS 学生管理程序D&SJX平面坐标点与三角形面积计算程序YLS有理数运算程序JZ 矩阵运算程序Y&YZT圆与圆柱体程序PMTX平面图形拼盘程序BDX通用比大小程序DZ通用堆栈程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 8 页 - - - - - - - - - 第 1 页1FS_A 设计、编写和调试面向对象C+程序,支持和实现任意两个复数的加法运算。要求程序设计一个复数类: (A)拥有两个 double 类型的成员变量分别表示实部和虚部;(B)拥有三个成员函数分别实现复数对象的设置、显示及加法运算功能。其中,复数对象设置成员函数(返回值类型为void、两个参数类型均为 double)要求根据传入参数实现复数对象整体(包括所有成员变量)的设置;复数对象显示成员函数(返回值类型为void、无参数)要求程序能够以类似于5+4i、5-4i、5、4i、-4i 的形式简明、正确地显示复数对象的取值;复数类的加法成员函数(返回值类型及两个参数类型均为程序自定义的复数类)要求程序能够正确实现两个参数复数对象的加法运算,并返回结果对象。 主函数则总控实现三个复数类对象 (两个充当加数对象的复数和一个表示和对象的复数)的创建,包括其中两个复数对象的设置 (程序能够友好提示用户分别输入实部和虚部值、进而正确接收和调用复数对象设置成员函数实现复数对象的设置)和显示以及二者相加与结果显示的功能 (注意全部是通过调用复数类的对应成员函数来实现而非其自身直接实现)。2FS_B 设计、编写和调试面向对象C+程序,支持和实现任意两个复数的加、减、乘、除运算(通过对应四个成员函数来实现),要求复数类拥有构造函数和析构函数, 并拥有支持复数对象正确设置和显示功能的成员函数。其中,复数类的加/减/乘/除成员函数(返回值类型及两个参数类型均为程序自定义的复数类)要求程序能够正确实现两个参数复数对象的加/减/乘/除运算,并返回结果对象;要求构造函数支持缺省情况下的复数对象初始化(即未指定实部与虚部的情况下初始化为 0,只指定实部的情况下虚部初始化为0,指定实部和虚部的情况下对应设置实部和虚部),同时显示符号串“ =”和复数对象取值(显示方式与要求同作业题 FS_A复数对象显示成员函数)并换行,如” 并换行,如5+4i= ;其它未尽要求同作业题FS_A。主函数则总控实现复数类对象的创建、设置、显示及任意两个复数相加/相减/相乘/相除与结果显示功能 (注意是通过调用复数类的对应成员函数来实现而非其自身直接实现)。3ZD 设计、编写和调试面向对象C+程序,支持和实现质点平面运动轨迹跟踪功能(所有质点对象平面运动方式及速度均为每次有效按键运动方向以上S、下 X、左 Z、右 Y 字母键表示 一个坐标单位)。要求程序设计一个质点类: (A)拥有两个整型的成员变量分别表示质点对象当前的横、纵坐标值;(B)拥有构造函数和析构函数, 要求构造函数随机实现质点坐标值的初始化,同时显示符号串“=”和质点坐标取值 (用方括号括注和逗号分割横纵座标)并换行,如” 并换行,如 0,0=; (C)拥有四个成员函数分别实现质点对象的上移、下移、左移、右移功能,相应函数原型均为无参和无返回值(即返回值类型为 void) ; (D)拥有一个成员函数实现用户操作界面接收功能函数原型亦为无参和无返回值(即返回值类型为void) ,提示和接收用户输入质点运动方向按键,并调用对应函数实现质点的正确移动和方位显示。主函数则总控实现一个质点类名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 8 页 - - - - - - - - - 第 2 页对象的创建、 显示及其在用户键盘操作下的移动功能(注意是通过调用质点类的对应成员函数来实现而非其自身直接实现)。4XS_A 设计、编写和调试面向对象C+程序,支持和实现学生基本信息及其成绩的录入、输出及比较等管理功能。要求程序设计一个学生类:(A)拥有一个字符数组类型的成员变量用于表示学生的学号,拥有一个字符指针类型的成员变量用于表示学生的姓名, 拥有一个整数数组类型的成员变量来存放和表示学生所学课程的成绩(假定所有学生修课均为5 门) ; (B)拥有构造函数、拷贝构造函数和析构函数,要求构造函数(无参数)实现学生对象学号的初始化(取值为“无效” ) , 而析构函数则在判断学生姓名所占空间不为空的情况下释放其所占用空间; (C)拥有两个成员函数分别实现学生对象所有数据成员属性(注意姓名需首先根据情况进行对应大小的空间申请)的设置(无参数,函数内部接收输入后设置,注意友好性)和显示功能;(D)拥有两个学生成绩比较成员函数(二者返回值类型均为void, 但一个成员函数拥有一个形如const CStudent & zS学生类常量引用的参数对象,而另一个成员函数则拥有一个形如const CStudent *pS学生类常量参数对象指针) ,这两个比较函数均根据当前学生对象和参数学生对象的总成绩比较结果分别输出“A 比 B 学习成绩好!” 、 “A 和 B 学习成绩不相上下! ” 、 “A 比 B 学习成绩差!” (注意函数功能实现时A、B 分别以当前学生对象和参数学生对象的实际姓名替代) 。 主函数则总控实现至少两个学生对象的创建、设置和显示及两个学生成绩比较与学生与自身比较等功能(注意是通过调用学生类的对应成员函数来实现而非其自身直接实现)。5XS_B 设计、编写和调试面向对象C+程序,支持和实现全班学生基本信息及其成绩的录入和输出等管理功能。要求程序设计一个学生类, 其设计规格参作业题XS_A ,但要求学号在构造函数中能自动生成,由固定不变字符串“JK08”和计数部分构成。 为此,需要为学生类增加和定义一个初始值为0 的整型静态成员,其伴随学生对象的创建(即构造函数的调用)将顺次递增,进而相应初始化对应学生学号为 JK080001、JK080002、JK080003,以此类推。要求主函数总控实现全班所有学生对象 (以学生对象数组形式定义和使用)的创建、设置和统一输出(注意是通过调用学生类的对应成员函数来实现而非其自身直接实现)。6D&SJX_A 设计、编写和调试面向对象C+程序,支持和实现基于三个平面坐标点的三角形面积计算功能。要求程序设计一个平面坐标点类和一个三角形类:平面坐标点类拥有两个整型数据成员分别表示其横纵座标,并拥有构造函数 (支持缺省情况下的点对象初始化,即无参情况下横纵座标均初始化为0,一个参数情况下认为其用于设置横坐标而纵座标初始化为0,两个参数情况下对应分别设置横、纵座标)、析构函数、设置函数(返回值类型为void、两个参数类型均为整型)及横坐标值提取函数(无参数、返回值类型为整型)和纵座标值提取函数(无参数、 返回值类型为整型) 等至少五个成员函数; 三角形类拥有一个长度为3 的平面坐标点类对象数组作为数据成员来表示三角形三个顶点,并拥有构造函数、析构函数、 设置函数和面积计算等共计至少四个成员函数,其中构造函数和设置函数的参数序列要求为三个形如const CPoint &zP1, 的点类常量对象引用,面积计算函数原型要求为无参和double 返回值类型。要求主函数总控实现一个三角形对象的创建,计算其面积和输出;重新设置三角形(三个顶点)后再名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 8 页 - - - - - - - - - 第 3 页次计算其面积和输出 (注意是通过调用三角形类及平面坐标点类的对应成员函数来实现而非主函数自身直接实现) 。7XS_C 设计、编写和调试面向对象C+程序,支持和实现学生基本信息及其成绩的录入、输出及比较等管理功能。基本要求同作业题XS_A ,但要求增加一个全局函数来实现任意两个学生对象成绩(函数原型要求无返回值、 两个形如const CStudent & zS1, 的学生类常量引用的参数对象,且该函数定义为学生类的友元函数)的比较并通过主函数调用和测试其功能实现情况。8D&SJX_B 设计、编写和调试面向对象C+程序,支持和实现基于三个平面坐标点的三角形面积计算功能。 基本要求同作业题 D&SJX_A ,但要求三角形类作为点类的友元类,故需改写三角形面积计算成员函数使其可直接访问其三个顶点的横纵坐标值。9FS_C 设计、编写和调试面向对象C+程序,支持和实现任意两个复数的加、减、乘、除运算。基本要求同作业题FS_B,但要求复数的加、减、乘、除运算分别通过四个全局函数而非成员函数方式实现(均定义为复数类的友元函数),其函数原型要求返回值类型为复数类,参数序列为两个形如const CComplex& zC1, 的复数类常量引用的参数对象。10FS_D 设计、编写和调试面向对象C+程序,支持和实现任意两个复数的加、减、乘、除运算。基本要求同作业题FS_B,但要求复数的加、减、乘、除运算均通过运算符重载方式实现,其中加、减采用成员运算符方式,而乘、除采用友元运算符方式。 另外,还应建立取模函数支持复数到实数的转换(类类型转换函数实现方式)。11YLS 设计、编写和调试面向对象C+程序,采用运算符重载机制实现任意两个有理数(即分数,由分子和分母构成)的加、减、乘、除及输入/输出操作,要求运算结果为经过化简的结果。12ZJ 设计、编写和调试面向对象C+程序,采用运算符重载机制实现两个矩阵的加、减、乘及输入/输出操作,要求通过()运算符重载来提取或设置矩阵元素值(函数原型:返回值为double&,两个整型参数表示矩阵元素行、列值) 。13Y&YZT 运用面向对象方法设计圆类和圆柱体类并建立继承关系,并为有关类设计构造函数、析构函数、成员数据设置/提取操作、面积 /体积计算函数。在主函数中,分别创建一个圆类对象和圆柱体类对象,调用和执行相关成员函数,观察并分析程序运行结果。14PMTX 运用面向对象方法设计点类和平面图形类(含点类成员),并由后者派生设计圆类 (含圆心、 半径) 、正方形类(含左上角顶点、 边长)与矩形类(含左上角顶点、长和宽) 、三角形类(含三个顶点) ;同时为有关类设计构造函数、成员数据设置 /提取操作函数、顶点显示函数及周长与面积计算函数,其中顶点显示函数及周长与面积计算函数在平面图形类中应定义为纯虚函数。在主函数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 8 页 - - - - - - - - - 第 4 页中,分别创建各类对象,调用和执行相关成员函数,观察并分析程序运行结果。15BDX 设计、编写和调试面向对象C+程序,实现任意两个同类数据比大小的通用函数(模板),涵盖普通数值型数据之间的比较、两个字符串之间的比较(按字典序)、两个复数之间的比较(按模大小)等,并通过主函数加以调用和测试。16DZ 设计、编写和调试面向对象C+程序,实现任意同一类型的数据堆栈的压栈操作和出栈操作,涵盖普通数值型数据堆栈、字符串堆栈、复数堆栈等,并通过主函数加以调用和测试。17 阅读分析下面的字符串异常处理程序:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 8 页 - - - - - - - - - 第 5 页(1)给出程序运行结果;(2)如果函数 ExceptionCheck()的构造 CString 对象的定义语句改为:CString zStr(abcdefghijklmnopqrstuvwxyz*, 26); 则程序运行结果又是什么?(3)试为 CString 类添加一个异常类型CExceptionOfM,即如果成员操作符 在CString 对象中检测到一个字符 m,该异常处理就在屏幕上显示一个相应的错误信息。18 编写程序初始化整型数组arrayData = 1, 2, 3, 4, 5, 6, 7, ,提示用户输入一个整数,然后调用泛型算法库函数find 给出用户输入数据在该数组中的位置。19 在标准 C+类库中,栈类 stack的成员函数 push()用于向栈顶添加元素、 pop()用于从非空栈的栈顶删除一个元素、empty()用于判断栈是否为空、top()返回非空栈的栈顶元素、 size()返回栈中元素个数。试构造一个整数栈,调用有关函数来体会标准容器的使用方法。20 修改课堂未使用 MFC 类库的 Windows应用程序 HelloChina 例程为 HelloXXX(XXX代表你自己的姓名首字母) ,也即向中国问好的信息显示改为向你自己(姓名)问好。上机调试运行相应程序,理解和体会Windows 应用程序的组成和运行机理。21 修改课堂使用 MFC 类库的 Windows 应用程序 HelloChina 例程为 HelloXXX(XXX代表你自己的姓名首字母) ,也即向中国问好的信息显示改为向你自己名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 8 页 - - - - - - - - - 第 6 页(姓名)问好。上机调试运行相应程序,理解和体会MFC 基类库在 Windows 应用程序所起的作用及基于MFC 的 Windows 应用程序编程要领。22 利用 VC+开发环境创建一个最简MFC AppWizard exe项目程序,其仅需最简选项支持(即单文档、文档/查看体系结构支持 V 、资源语言 中文、不含数据库、不需要复合文档支持及任何其它支持,MFC 标准风格、需要生成源文件备注、 MFC 库共享 DLL 使用方式)。分析该项目类型程序的组成、各部分代码功能及运行机理,总结VC+此类项目开发过程、关键问题及解决方案。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 8 页 - - - - - - - - -

    注意事项

    本文(2022年《面向对象程序设计与C++》自编作业手册 .pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开