用C#编写三角形面积计算程序(附源码)
一.程序要求
求三角形的面积,要求用“方法的参数数组”、“接口”、“构造函数”、“类继承”、至少四种方法实现三角形的面积的方法。
二.代码部分
using System;
using System.Xml.Linq;interface IPartOne
{void GetArea(double[] Area);
}
public class Sharp
{public double side1;public double side2;public double side3;public double bottom;public double top;public double angle;public double r;public double p;public double HalfPerimeter(){return (side1 + side2 + side3) / 2;}
}
class Method1 : Sharp, IPartOne
{public void GetArea(double[] Area){Sharp sharp1 = new Sharp();door:Console.WriteLine("请输入三边:");sharp1.side1 = Double.Parse(Console.ReadLine());sharp1.side2 = Double.Parse(Console.ReadLine());sharp1.side3 = Double.Parse(Console.ReadLine());if (sharp1.side1 + sharp1.side2 > sharp1.side3 && sharp1.side1 + sharp1.side3 > sharp1.side2 && sharp1.side2 + sharp1.side3 > sharp1.side1){double p = sharp1.HalfPerimeter();Area[0] = Math.Sqrt((p - sharp1.side1) * (p - sharp1.side2) * (p - sharp1.side3) * p);}else{Console.WriteLine("不存在该三角形 请重新输入");goto door;}}
}class Method2 : Sharp, IPartOne{public void GetArea(double[] Area){Console.WriteLine("请输入三角形的底和高:");Sharp sharp2 = new Sharp();sharp2.bottom = Double.Parse(Console.ReadLine());sharp2.top = Double.Parse(Console.ReadLine());Area[0] = (sharp2.top * sharp2.bottom) / 2;}}class Method3 : Sharp, IPartOne{public void GetArea(double[] Area){Console.WriteLine("请输入三角形的两边和夹角:");Sharp sharp3 = new Sharp();sharp3.side1 = Double.Parse(Console.ReadLine());sharp3.side2 = Double.Parse(Console.ReadLine());sharp3.angle = Double.Parse(Console.ReadLine());Area[0] = (sharp3.side1 * sharp3.side2 * Math.Sin((Math.PI / 180.0) * sharp3.angle)) / 2;}}class Method4 : Sharp, IPartOne{public void GetArea(double[] Area){Console.WriteLine("请输入三角形周长和内切圆半径:");Sharp sharp4 = new Sharp();sharp4.p = Double.Parse(Console.ReadLine());sharp4.r = Double.Parse(Console.ReadLine());Area[0] = (sharp4.r * sharp4.p) / 2;}}class Init{public bool InitFunc(){double[] Area = new double[1];Console.WriteLine("-----------------------------------------------------");Console.WriteLine("1.已知三边");Console.WriteLine("2.已知底和高");Console.WriteLine("3.已知两边以及夹角(角度制)");Console.WriteLine("4.已知三角形周长以及内切圆半径");Console.WriteLine("0.Exit");string s = Console.ReadLine();int a = Convert.ToInt32(s);switch (a){case 1:Method1 method1 = new Method1();method1.GetArea(Area);break;case 2:Method2 method2 = new Method2();method2.GetArea(Area);break;case 3:Method3 method3 = new Method3();method3.GetArea(Area);break;case 4:Method4 method4 = new Method4();method4.GetArea(Area);break;case 0:Console.WriteLine("程序已退出");return false;default:Console.WriteLine("输入错误 请重新输入");return true;}Console.WriteLine("面积是:{0}", Math.Round(Area[0], 3));return true;}}class Progremme{static void Main(){Init init = new Init();bool flag = true;while (flag){flag = init.InitFunc();}}}
三.程序说明
接口部分:IPartOne
类:形状Sharp、四种计算三角形的方法Method1-4(分别继承基类Sharp和接口)
用C#编写三角形面积计算程序(附源码)相关推荐
- Swing俄罗斯游戏编写详解(附源码)
2019独角兽企业重金招聘Python工程师标准>>> 俄罗斯方块游戏是一个上手简单,老少皆宜的游戏,它的基本规则是移动.旋转和摆放游戏自动产生的各种方块,使之排列成完整的一行或多行 ...
- C#编写数据分析软件(附源码)
这几天给开源彻底洗脑.东西就不多介绍了,现在源码分享出,之前写过几篇文章,这里给个传送们 MyTask1: http://blog.csdn.net/k183000860/article/detai ...
- Web酒店管理系统(附源码及资源)
Web酒店管理系统(附源码及资源) 一.系统概述: 二.系统功能分析 三.系统主要内容: 四.源码下载 五.总结 一.系统概述: 该系统通过Sublime Text编辑器编写完成,涉及到了htnl.c ...
- C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...
原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github. ...
- cesium多边形描边_Cesium专栏-地形开挖2-任意多边形开挖(附源码下载)
"任意多边形地形开挖" 是"地形开挖"的补充篇,在这节里,我们介绍关于如何使用任意多边形对地形进行开挖,同时,由于有不少小伙伴也咨询了关于"地形开挖& ...
- Django集成Markdown编辑器【附源码】
专注内容写作的你一定不要错过markdown 简单介绍 markdown是一种标记语言,通过简单的标记语法可以使普通的文本内容具有一定的格式,使用非常简单,学习成本极低 目前各大Blog平台都已支持m ...
- 疯狂python讲义视频 百度云-疯狂Python讲义 PDF高清版附源码
内容简介 本书全面,深入地介绍了Python编程的相关内容,大致可分为四个部分.*系统部分介绍了Python的基本语法结构,函数编程,类和对象,模块和包,异常处理等: 第二部分主要介绍Python常用 ...
- DSP:6678开发板NDK网口通信完整实现(附源码)
如果出现图片打不开,或是显示异常,请点击下方链接阅读原文!!! DSP:6678开发板NDK网口通信完整实现(附源码) - 子木的文章 - 知乎 https://zhuanlan.zhihu.com/ ...
- 8个前沿的 HTML5 CSS3 效果【附源码下载】
作为一个前沿的 Web 开发者,对于 HTML5 和 CSS3 技术或多或少都有掌握.前几年这些新技术刚萌芽的时候,开发者们已经使用它们来小试牛刀了,如今这些先进技术已经遍地开发,特别是在移动端大显身 ...
最新文章
- 查询在应用程序运行得很慢, 但在SSMS运行得很快的原因探究
- gatb_core_components
- mongodb可视化工具连接报错
- kubernetes相关概念
- Web2.0时代,你得到什么?
- WEKA The workbench for machine learning
- 如何自行分析定位SAP BSP错误
- .NET Core完成向RyuJIT的迁移
- 两个富翁打赌_打赌您无法解决这个Google面试问题。
- linux如何调试脚本程序,调试Linux shell脚本的方法
- skyline 系列 1 - 简介、下载
- 基于鱼群算法的函数寻优
- 计算机表格怎么添加单下划线,如何在excel表格中添加并设置下划线
- 成长,从你发现自己写的代码很LOW开始
- 查看Win10序列号
- c语言程序设计学校运动会管理系统,C++实现学校运动会管理系统
- python分词考研英语真题词频(附结果)——读取word、nltk、有道智云API
- 第三方服务(文件,图片存储)
- 已有域名,如何建站。
- nth-child 与 nth-of-type