西安交大C++程序设计第七章作业_第1页
西安交大C++程序设计第七章作业_第2页
西安交大C++程序设计第七章作业_第3页
西安交大C++程序设计第七章作业_第4页
西安交大C++程序设计第七章作业_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

西安交通大学实验报告 课程 计算机程序设计 实验名称 类与对象 第 1 页 共 18 页 系 别 实 验 日 期 2014 年 5 月 2 日 专业班级 组别 实 验 报 告 日 期 2014 年 5 月 2 日 姓 名 学号 2130405034 报 告 退 发 订正 重做 同 组 人 教 师 审 批 签 字 一 实验目的 理解类与对象的概念 掌握类的定义方法和使用方法 二 实验内容 一 第一题 定义一个 Dog 类 包含 name age sex weight 等属性以及对这些属性操作的方法 实现并测试这个类 1 源程序代码 include using namespace std class Dog 狗类 private 私有成员 char name 20 字符型数组用于存储名字 int age 年龄 整型数 char sex 性别 double weight 体重 定义为双精度型 public 公有成员 void Register char Name int Age char Sex double Weight 输入函 数 void print 输出函数 void Dog Register char Name int Age char Sex double Weight 输 入函数 将各个参数导入到定义的类中相应元素 strcpy name Name age Age sex Sex m m f weight Weight void Dog print 输出函数 cout 名字 name t年龄 age t性别 sex t体重 weight endl int main Dog dog1 dog2 dog char Name1 20 Sex1 Name2 20 Sex2 int Age1 Age2 double Weight1 Weight2 cout Name1 Age1 Sex1 Weight1 dog1 Register Name1 Age1 Sex1 Weight1 cout Name2 Age2 Sex2 Weight2 dog2 Register Name2 Age2 Sex2 Weight2 cout 第一条狗的信息如下 n 信息显示 dog1 print cout 第二条狗的信息如下 n dog2 print dog dog1 交换dog1和dog2的内容 dog1 dog2 dog2 dog cout 二者交换以后信息为 n 通过输出交换结果检验类的定义有作 用 cout 第一条狗 n dog1 print cout 第二条狗 n dog2 print return 0 2 实验结果 3 问题分析 设计思路 首先输入两个狗的信息 然后显示输入的信息 然后交换二者再次 输出 通过再次输出的结果表明对其操作有效 从而表明类的定义 是有效的 二 第二题 设计并测试一个名为 Ellipse 的椭圆类 其属性为 外接矩形的左上角与右下角两个点的坐标 并能计算出椭圆的面积 1 源程序代码 include include using namespace std class Ellipse 定义椭圆类 private double x1 x2 y1 y2 S public void Register double a double b double c double d 输入函数 double area 面积计算函数 void feedback 输出函数 void Ellipse Register double a double b double c double d 输入函数 x1 a x2 c y1 b y2 d double Ellipse area 面积计算函数 用公式 S pi a b a b为半长轴 半短轴长 S 3 1415 fabs x1 x2 fabs y1 y2 4 return S 返回面积值 void Ellipse feedback 输出函数 反馈输入值 cout 您输入的点的坐标为 x1 y1 和 x2 y2 n void main double a b c d cout a b c d Ellipse ellipse ellipse Register a b c d ellipse feedback cout 椭圆面积为 ellipse area endl 2 实验结果 1 中心在原点 2 中心不在原点 三 第三题 仿照 Date 类设计一个 Time 类 按照各种可能的格 式输出时间 1 源程序代码 include using namespace std class Time int h m s public void init int int int 输入函数 void print hms 时分秒 void print hsm 时秒分 void print msh 分秒时 void print mhs 分时秒 void print shm 秒时分 void print smh 秒分时 void Time init int a int b int c h a 0 void Time print hms cout 时分秒 h m s endl void Time print hsm cout 时秒分 h s m endl void Time print msh cout 分秒时 m s h endl void Time print mhs cout 分时秒 m h s endl void Time print shm cout 秒时分 s h m endl void Time print smh cout 秒分时 s m h endl void main int a b c cout a b c Time time time init a b c time print hms time print hsm time print mhs time print msh time print shm time print smh 2 实验结果 对多种超出范围的情况进行了检测 1 正常输入 2 24 点会被作为 0 点 3 分超过 60 4 秒超过 60 5 时超过 24 四 实验题目四 必做题 设计定义一个三角形类 成员函数 应有输入三角形初始数据函数 求三角形面积函数 输出面积函数 并编写主函数加以测试 1 程序源代码 include using namespace std class triangle double h l S public void Register double a double b 输入函数 int examine 检验是否合理的函数 void area 计算面积 void print 输出计算结果函数 void triangle Register double a double b h a l b int triangle examine if h 0 l 0 return 0 return 1 void triangle area S h l 2 void triangle print cout 面积为 S endl int main triangle s double a b cout a b s Register a b while s examine 0 cout a b s Register a b s area s print return 0 2 实验结果 1 输入有误时 2 输入合理 五 第五题 必做题 定义一个二元一次方程组类 成员函数应 有输入 6 个系数的函数 求二元一次方程组的根的函数 输出该方 程组的函数 即输出格式如下 AX BY C DX EY F 并编写主函数加以测试 1 源程序代码 include using namespace std class equation 定义方程类 double a b c d e f double x y public void Register double A double B double C double D double E double F 输入函数 int examine 检验函数 检查系数是否能够确定唯一解 void result 计算函数 void print 输出函数 void equation Register double A double B double C double D double E double F a A b B c C d D e E f F int equation examine if a e b d 0 return 0 return 1 void equation result x c e b f a e b d y a f c d a e b d void equation print cout 计算结果为 x x y y endl int main double A B C D E F equation test cout A B C D E F test Register A B C D E F while test examine 0 若系数不符合要求 提示重新输入 cout A B C D E F test Register A B C D E F test result test print return 0 2 实验结果 1 正常输入 2 输入有误 六 第六题 6 必做题 定义一个计算器类 成员函数有加法 减法 除法 乘法 SIN double x 共 5 个功能性函数 当然还必 须有初始化数据成员的函数 修改数据成员的函数 输出数据成员 的函数 并编写主函数加以测试 1 源程序代码 6 必做题 定义一个计算器类 成员函数有加法 减法 除法 乘法 SIN double x 共个功能性函数 当然还必须有初始化数据成员的函数 修改数据成员的函数 输出数据成员 的函数 并编写主函数加以测试 include include using namespace std class calculate private double a b s public void Register double x double y void plus void minus void chufa void chengfa void SIN void print void calculate Register double x double y a x b y void calculate plus s a b void calculate minus s a b void calculate chufa s a b void calculate chengfa s a b void calculate SIN s sin a void calculate print cout s endl int main char m double x y cout x cout y calculate cal cal Register x y cout m switch m case cal plus break case cal minus break case cal chengfa break case cal chufa break case s cal SIN break default cout ERROR n break cal print return 0 2 实验结果 1 加法 2 减法 3 乘法 4 除法 5 sin 6 输入有误 3 问题分析 本程序的优点 能够实现对计算类型的选择 对于输入不符合要求的能够输出 error 并结束程序 对 sin 的计算 能够实现与直接计算进行对比以检测是否正确 七 第七题 选做题 设计定义 100 位的十进制正整数类 成员 函数至少应有输入初始数据函数 加法函数和输出函数 并编写主 函数加以测试 提示 在类中定义 int num 100 输入一个大 正整数字符串 如 23112333298789876559998 再将该字符串转换 成大整数放入 num 数组中 1 源程序代码 include include using namespace std class number 定义number类 int num 100 私有成员整型数组 int l 整型数l 为输入的字符的长度 public 公有成员 void Register char a 100 用于将输入的字符转换为整型数组元素并 储存的函数 void plus char b 100 加法函数 将b所储存的数加到a上 void print 输出函数 void number Register char a 100 转换函数 int i l strlen a for i 0 i l i num l i 1 a i 0 void number plus char b 100

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论