c#创建圆形类Circle、矩形类实现代码

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

c#创建圆形类Circle、矩形类实现代码

  2020-11-29 我要评论

c#创建圆形类,其中包括set,get方法

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace 圆
{
class circle
{
int center_x;
int center_y;
double Radius;
public int x
{
get { return center_x; }
set { center_x = value; }
}
public int y
{
get { return center_y; }
set { center_y = value; }
}
public double radius
{
get { return Radius; }
set { Radius = value; }
}
}
class Program
{
static void Main(string[] args)
{
circle myCircle = new circle();
myCircle.x = 10;
myCircle.y = 10;
myCircle.radius = 8;
Console.WriteLine("Center:({0},{1})", myCircle.x, myCircle.y);
Console.WriteLine("Radius:{0}", myCircle.radius);
Console.WriteLine("Circumference:{0}", (double)(2 * 3.141592653 * myCircle.radius));
Console.ReadKey();
}
}
}

C#——Circle(圆)类

问题描述

定义一个Circle类,其功能有:

-两个double类型属性X和Y,可读写圆心坐标

-一个double类型属性Radius,可读写圆的半径

-一个构造方法,以指定的x,y,radius来构造

-一个只读属性Area,获取圆面积

-一个只读属性Perimeter,获取圆周长

-一个方法bool Contains(double x, double y),如果指定的点(x, y)处于本圆内,返回true

-一个方法bool Contains(Circle circle),如果指定的圆circle包含在本圆内,返回true

-一个方法bool Extend(double range, out Circle newCircle),半径扩大(加上range),输出扩大后的newCircle,返回true。如果Radius+range为负,无法扩大,则输出原来的圆,且返回false。

在一个Main方法中对上述功能进行测试

解决方案

using System;
 
namespace HomeWork1
{
 //定义一个Circle类,其功能有
 class Circle
 {
 //-两个double类型属性X和Y,可读写圆心坐标
 public double X
 {
  set;
  get;
 }
 public double Y
 {
  set;
  get;
 }
 //-一个double类型属性Radius,可读写圆的半径
 public double Radius 
 {
  set;
  get;
 }
 //-一个构造方法,以指定的x,y,radius来构造
 public Circle(double X, double Y, double Radius) 
 {
  this.X = X;
  this.Y = Y;
  this.Radius = Radius;
 }
 //-一个只读属性Area,获取圆面积
 public double Area 
 {
  get {
  return Radius * Radius * 3.1415926;
  }
 }
 //-一个只读属性Perimeter,获取圆周长
 public double Perimeter
 {
  get { 
  return 2 * Radius * 3.1415926;
  }
 }
 //-如果指定的点(x, y)处于本圆内,返回true
 public bool Contains(double x, double y) {
  if ((x - X) * (x - X) + (y - Y)* (y - Y) < Radius * Radius) {
  return true;
  }
  return false;
 }
 //-如果指定的圆circle包含在本圆内,返回true
 public bool Contains(Circle circle) {
  if (Radius>circle.Radius 
  && (Radius - circle.Radius) * (Radius - circle.Radius) > (circle.X - X) * (circle.X - X) + (circle.Y - Y) * (circle.Y - Y))
  {
  return true;
  }
  return false;
 }
 //-半径扩大(加上range),输出扩大后的newCircle,返回true。如果Radius+range为负,无法扩大,则输出原来的圆,且返回false。
 public bool Extend(double range, out Circle newCircle) {
  newCircle = this;
  if (newCircle.Radius + range > 0) {
  newCircle.Radius = newCircle.Radius + range;
  return true;
  }
  return false;
 }
 }
 
 class Program
 {
 static void Main(string[] args)
 {
 
  Circle circle = new Circle(1,1,3);
  Console.WriteLine("面积:{0}\t周长:{1}",circle.Area, circle.Perimeter);
  Console.WriteLine("(2,2)在本圆内:{0}", circle.Contains(2,2));
  Console.WriteLine("Circle(1,1,1)在本圆内:{0}", circle.Contains(new Circle(1,1,1)));
  circle.Extend(2,out circle);
  Console.WriteLine("面积:{0}\t周长:{1}", circle.Area, circle.Perimeter);
 }
 }
}

运行结果

C# 圆类,矩形类算面积

题目:

编写一个矩形类(Rect)与一个圆类(Circle),
//分别通过构造方法对一个矩形对象(rect1) 与一个圆对象(circle1)
//进行初始化后,求出矩形与圆的面积。
//同时具有如下功能:可以设置和读取矩形的边长和圆的半径,
//但只能读取它们的面积,不能修改面积。

class Rect//矩形类
 {
 public double a, b;//矩形的两条边
 public Rect()//无参构造函数
 {
  a = Convert.ToDouble(Console.ReadLine());
  b = Convert.ToDouble(Console.ReadLine());
 }
 }
 class Circle//圆形类
 {
 public double r;//圆的半径
 public Circle()//无参构造函数
 {
  r = Convert.ToDouble(Console.ReadLine());
 }

 }

 class Program
 {
 static void Main(string[] args)
 {
  double PI = 3.14;
  Console.WriteLine("请输入矩形的长和宽:");
  Rect rect1 = new Rect();//创建一个Rect类的对象:rect1
  double Srect1 = rect1.a * rect1.b;//矩形面积
  Console.WriteLine($"矩形面积:{Srect1}");
  Console.WriteLine();
  Console.WriteLine("请输入圆的半径:");
  Circle circle1 = new Circle();//创建一个Circle类的对象:circle1
  double Scircle = circle1.r * circle1.r * PI;//圆面积
  Console.WriteLine($"圆面积:{Scircle}");
  Console.ReadKey();
 }
 }

运行效果

C#-创建圆形/椭圆形按钮

创建圆形按钮挺简单的。

public class EllipseButton : Button
{
  protected override void OnPaint(PaintEventArgs pevent)
  {
    GraphicsPath gPath = new GraphicsPath();
    // 绘制椭圆形区域
    gPath.AddEllipse(0, 0, this.ClientSize.Width, this.ClientSize.Height);
 
    // 将区域赋值给Region
    this.Region = new System.Drawing.Region(gPath);
 
    base.OnPaint(pevent);
  }
}

效果图

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们