日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

php判断三角形类型,C#_C#判断三角形的类型,题目描述:输入三角形的三 - phpStudy...

發布時間:2024/7/23 C# 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php判断三角形类型,C#_C#判断三角形的类型,题目描述:输入三角形的三 - phpStudy... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

C#判斷三角形的類型

題目描述:

輸入三角形的三條邊長,判斷是否能構成一個三角形(不考慮退化三角形,即面積為零的三角形),是什么樣的三角形(直角、銳角、鈍角、等邊、等腰)。

函數聲明為:byte GetTriangleType(int,int,int)

1. 如何用一個byte來表示各種輸出情況?

2. 如果你是一名測試工程師,應該如何寫測試用例來完成功能測試呢?

題目解析:

對于如何用一個byte表示各種輸出情況,不是很清楚,有待研究。

下面的程序我只是實現了功能,并沒有按照給定的函數聲明的格式完成,大家可以參考參考

UI:

代碼:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

using System.Text.RegularExpressions;

namespace TriangleTest

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Test_Click(object sender, EventArgs e)

{

//等腰,等邊,直角,鈍角,銳角。

Dictionary result = new Dictionary();

result.Add("等腰", 0);

result.Add("等邊", 0);

result.Add("直角", 0);

result.Add("鈍角", 0);

result.Add("銳角", 0);

var t1 = edge1.Text;

var t2 = edge2.Text;

var t3 = edge3.Text;

if (CheckInput(t1, t2, t3))

{

var e1 = double.Parse(edge1.Text);

var e2 = double.Parse(edge2.Text);

var e3 = double.Parse(edge3.Text);

double[] Numbers = new double[] { e1, e2, e3 };

double powSum = Math.Pow(e1, 2) + Math.Pow(e2, 2) + Math.Pow(e3, 2);

double max = Numbers.Max();

if (CheckTriangle(e1, e2, e3))

{

//三角形。

result["等腰"] = CheckEquicrural(e1, e2, e3) ? 1 : 0;

result["等邊"] = CheckEquilateral(e1, e2, e3) ? 1 : 0;

result["直角"] = CheckRightAngle(powSum, max) ? 1 : 0;

result["鈍角"] = CheckObtuseAngle(powSum, max) ? 1 : 0;

result["銳角"] = CheckAcuteAngle(powSum, max) ? 1 : 0;

string resultTip = result["等腰"] == 1 ? "等腰" : "";

resultTip += result["等邊"] == 1 ? "等邊" : "";

resultTip += result["直角"] == 1 ? "直角" : "";

resultTip += result["鈍角"] == 1 ? "鈍角" : "";

resultTip += result["銳角"] == 1 ? "銳角" : "";

resultTip += "三角形";

MessageBox.Show(resultTip);

}

else

{

//不是三角形。

MessageBox.Show("您輸入的三邊構不成三角形!");

}

}

else

{

//輸入非法。

MessageBox.Show("您輸入的信息有問題!");

}

}

private bool CheckAcuteAngle(double powSum, double max)

{

return (Math.Pow(max, 2) < powSum - Math.Pow(max, 2)) ? true : false;

}

private bool CheckObtuseAngle(double powSum, double max)

{

return (Math.Pow(max, 2) > powSum - Math.Pow(max, 2)) ? true : false;

}

private bool CheckRightAngle(double powSum, double max)

{

return (Math.Pow(max, 2) == powSum - Math.Pow(max, 2)) ? true : false;

}

private bool CheckEquicrural(double e1, double e2, double e3)

{

return (e1 == e2 && e2 == e3) ? true : false;

}

private bool CheckEquilateral(double e1, double e2, double e3)

{

return (e1 == e2 || e2 == e3 || e3 == e1) ? true : false;

}

private bool CheckTriangle(double edge1, double edge2, double edge3)

{

double[] edges = new double[] { edge1, edge2, edge3 };

double sum = edges[0] + edges[1] + edges[2];

int succFlag = 0;

for (int i = 0; i < edges.Count(); i++)

{

if (edges[i] < sum - edges[i])

{

succFlag++;

}

}

if (succFlag == 3)

{

return true;

}

else

{

return false;

}

}

private bool CheckInput(string edge1, string edge2, string edge3)

{

bool result = false;

Regex reg = new Regex("^[0-9]*$");

if (reg.IsMatch(edge1) && reg.IsMatch(edge2) && reg.IsMatch(edge3))

{

if (Int32.Parse(edge1) > 0 && Int32.Parse(edge2) > 0 && Int32.Parse(edge3) > 0)

{

result = true;

}

}

return result;

}

}

}

Run:

2. 對于功能測試而言:

1)值的類型測試:注意輸入值的種類(整形,浮點型,字符串類型等),檢查對于非法值類型是否有控制邏輯;

2)值的邊界測試:注意輸入值的范圍(只能為非負數),檢查超出范圍時是否有控制邏輯;

3)以結果為導向的測試:分別對非三角形,三角形中的等腰、等邊、直角、鈍角、銳角做出幾組符合要求的測試數據,檢查Test結果是否正確;

4)值的長度測試:根據需求檢查輸入值達到最大值長度時,是否能夠正常Test。

C#判斷三角形的類型基本功能已經是現實,但是并沒有按照給定的函數聲明的格式完成,還有待于提高,或者是大家有什么好的建議,可以提出,嘗試去解決。相關閱讀:

在MySQLDump中使用-w語句進行備份的方法

淺析.NET邏輯分層架構

Win10資源管理器總是自動刷新怎么辦 Win10 資源管理器刷新

一個PHP的ZIP壓縮類分享

win7禁用u盤軟件、win7禁止使用u盤、win7組策略禁用u盤的設置方法

JavaScript動態創建div等元素實例講解

微軟計劃6月份推出Win10 RTM 為學生開學做準備

簡單分析MySQL中的primary key功能

mysql優化連接數防止訪問量過高的方法

jQuery中使用data()方法讀取HTML5自定義屬性data-*實例

Win10新版本中Insider Hub會員應用消失不見了怎么添加

Android 實現微信登錄詳解

Mysql的游標的定義使用及關閉深入分析

MySQL函數講解(MySQL函數大全)

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的php判断三角形类型,C#_C#判断三角形的类型,题目描述:输入三角形的三 - phpStudy...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。