Çokgenler geometride özellikle çember işlemlerinde en çok kullanılan yöntemlerdendir. Bu uygulamada gerekli formülleri kullanarak Core Mvc tasarımını yapacağız.
Öncelikle model tasarımını yapalım.
using System.ComponentModel.DataAnnotations;
namespace DuzgunCokgenMvc.Models
{
public class DuzgunCokgen
{
[Required(ErrorMessage = "İç açıyı girin.")]
[Range(0.01, 179.99, ErrorMessage = "İç açı 0 ile 180 derece arasında olmalıdır.")]
[Display(Name = "İç Açı (°)")]
public double? IçAci { get; set; }
public double? KenarSayisi
{
get
{
if (IçAci.HasValue && IçAci.Value < 180)
{
return 360 / (180 - IçAci.GetValueOrDefault());
}
return null;
}
}
}
}
Şimdi de Controllers tanımlamasını yapalım.
using Microsoft.AspNetCore.Mvc;
using DuzgunCokgenMvc.Models;
namespace DuzgunCokgenMvc.Controllers
{
[Route("duzgun-cokgen")]
public class CokgenController : Controller
{
[HttpGet("hesapla")]
public IActionResult Hesapla()
{
return View();
}
[HttpPost("hesapla")]
public IActionResult Hesapla(DuzgunCokgen model)
{
if (!ModelState.IsValid)
{
return View(model);
}
return View("CokgenSonuc", model);
}
}
}
Giriş işlemleri için view dosyasını oluşturalım.
@model DuzgunCokgenMvc.Models.DuzgunCokgen
@{
ViewData["Title"] = "Düzgün Çokgen Kenar Sayısı Hesapla";
}
<h2>@ViewData["Title"]</h2>
<form asp-action="Hesapla" method="post">
<div>
<label asp-for="IçAci"></label>
<input asp-for="IçAci" class="form-control" />
<span asp-validation-for="IçAci" class="text-danger"></span>
</div>
<button type="submit" class="btn btn-primary mt-3">Kenar Sayısını Hesapla</button>
</form>
Son olarak sonucu görüntüleme işlemini gerçekleştirelim.
@model DuzgunCokgenMvc.Models.DuzgunCokgen
@{
ViewData["Title"] = "Düzgün Çokgen Sonucu";
}
<h2>@ViewData["Title"]</h2>
<p><strong>İç Açı:</strong> @Model.IçAci °</p>
<p><strong>Kenar Sayısı:</strong> @Model.KenarSayisi</p>
<a asp-action="Hesapla">Yeni Hesaplama</a>
Uygulamayı çalıştırıp deneyelim. Sorularınız varsa bize yazabilirsiniz.