




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、点和直线类(1)创建C#控制台应用程序。在程序中新建一个点类CzPoin,为其定义两个double类型的 私有字段成员x和y,分别表示点的横坐标和纵坐标。为CzPoint定义两个公有属性X、Y,分别用于封装对字段x和 y 的读写访问。定义CzPoint的带参数构造函数,在其中对字段 x和y进行初 始化。(5) 为CzPoint定义公有方法Move,用于按指定的水平距离和垂直 距离移动坐标点。(6) 对CzPoint类进行相等和不等操作符重载。两个坐标点相等, 是指它们的横坐标和纵坐标都相等。(7) 在程序主方法中创建坐标为 (1, 2)和(3, 3)的两个坐标点对象, 判断它们是否相等; 而后
2、将第一个坐标点移动到第二个坐标点 上,再判断它们是否相等。(8) 在程序中再新建一个直线类 CzLine为其定义两个double类 型的字段成员a和b,分别表示直线的斜率和截距;再定义字 段的封装属性A和B,但它们都是只读的。(9) 为CzLine定义两个构造函数,一个根据斜率和截距来创建直线 对象,另一个则根据两个CzPoi nt对象来构造直线对象(直线 穿过这两个点)。(10) 为CzLine定义公有的方法 Move,但它只用于平移直线,而不改变直线的斜率。再为其定义公有方法Co ntains,用于判断某点是否在该直线上。(11) 类似地,为CzLine重载相等和不等操作符。(12) 最后
3、在程序主方法中采用不同的方式创建直线对象,并编译运行程序,测试它们的使用效果using System;using System.Collections.Generic;using System.Linq;using System.Text;namespaceConsoleApplication5class Program static void Main( string args)CzPoint r1 = new CzPoint (1, 2); CzPoint r2 = new CzPoint (3, 3); CzLine r6 = new CzLine ();r6.Line2(r1, r2)
4、;Con sole .WriteLi ne(判断 r1 和 r2 是否相等:0 , r1 = r2); Con sole .WriteL in e(移动 r1 坐标:);r1.Move(2, 1);Console.WriteLine(移动r1 后判断:0 , (r1 = r2); CzLine r3 = new CzLine(0.25, 3);CzLine r4 = new CzLine(0.25, 3); r3.Contains(3, 2);Console.WriteLine(方程=0x+1和方程y=2x+3判断: 4 , r3.A, r3.B, r4.A, r4.B, (r3 = r4);
5、CzPoint r5 = new CzPoint (); Con sole .Write(输点的 X坐标);r5.X =Convert.ToDouble( Console.ReadLine();Con sole .Write(输入点的 丫坐标);r5.Y =Convert.ToDouble( Console.ReadLine();Con sole .WriteLi ne(输出的坐标(0,1 ), r5.X, r5.Y);class CzPointprivate double x;private double y;public double Xget return x; set x = valu
6、e ; public double Yget return y; set y = value ; public CzPoint()public CzPoint( double a, double b)this .x = a;this .y = b;/ 用于按指定的水平距离和垂直距离移动坐标点 public void Move( double c, double d)Console .WriteLine( 移动前的坐标为 (0,1) , x, y); x = x + c; y = y + d;Console .WriteLine( 移动后的坐标为 (0,1) , x, y);/ 重载 =号pub
7、lic static string operator =( CzPoint c1, CzPoint c2) if (c1.x = c2.x & c1.y = c2.y)return 两点相等 ; elsereturn 两点不等 / 重载!= 号public static string operator !=( CzPoint c1, CzPoint c2) if (c1.x = c2.x | c1.y = c2.y)return 两点相等 ;else return 两点不等 ;class CzLinedouble a; / 直线的斜率 double b; / 截距 double x, y;/
8、一次函数y=kx+b,则b就是截距,而k是斜率 public double A get return a; public double Bget return b; public CzLine()public CzLine( double x, double y) this .a = x; this .b = y;public void Line1( double a, double b)y = a * x + b;/ 用两点式公式: (y-y1)/(y2-y1) = (x-x1)/(x2-x1) public void Line2( CzPoint r1, CzPoint r2)y = (x
9、 - r1.X) / (r2.X - r1.X) * (r2.Y - r1.Y) + r1.Y;Console.WriteLine(直线程是 y= (x - 0) / (1 - 2)* (3- 4) + 5, r1.X, r2.X, r1.X, r2.Y, r1.Y, r1.Y);/ 平移直线public void Move( double c, double d)x = x + c;y = y + d;/ 判断某点是否在该直线上 public void Contains( double c, double d) if (a * x + b - d = 0) Console.WriteLine
10、( 点 (0,1) 在直线 y=2x+3 上! , c, d, a, b); elseConsole.WriteLine( 点 (0,1) 不在直线上 y=0x+1 上! , c, d, a, b);/ 重载 =号public static string operator =( CzLine r3, CzLine r4) if (r3.a = r4.a & r3.b = r4.b)return 方程相等且重合 ;else if (r3.a = r4.a & r3.b != r4.b)return 方程相等 ;elsereturn 方程不相等 ;/ 重载!= 号public static string operator !=( CzLine r3, CzLine r4) if (r3.a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 模具设计师资格考试的实施方案试题及答案
- 幼儿语言学习的环境营造计划
- 沥青清理施工方案
- 完善客户投诉处理的年度措施计划
- 生物课程课外拓展活动计划
- 掌握行业动态提升竞争力计划
- 如何写好秘书工作总结与汇报计划
- 前台文员在团队中的角色定位计划
- 企业愿景的制定与传播计划
- 福建事业单位考试应试技巧及经验分享试题及答案
- 香港汇丰银行大厦结构选型
- 房屋硬装装修合同范本
- 丰田锋兰达说明书
- 2023年东莞市人民医院医师规范化培训招生(放射科)考试参考题库含答案
- 2022年甘肃省张掖市辅警协警笔试笔试模拟考试(含答案)
- 勾头作业施工方案
- 中医医院重症医学科建设与管理指南
- 创伤性网胃炎
- LY/T 1556-2000公益林与商品林分类技术指标
- GB/T 3522-1983优质碳素结构钢冷轧钢带
- 主要电气设备绝缘电阻检查记录
评论
0/150
提交评论