Kod:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace C_Sharp_10_Sayi_İslemi
{
public partial class Form1 : Form
{
int[] girilenSayilar = new int[10];
int girilenSayiSayisi;
int girilenSayi;
public Form1()
{
InitializeComponent();
}
private **** Form1_Load(object sender, EventArgs e)
{
//Klavyenin enter butonunu sayıyı gir olarak çalıştıcağım
this.AcceptButton = this.btnSayiyiGir;
//Klavyenin ESC butonunu formu temizle butonu olarak çalıştıracağım.
this.CancelButton = this.btnTemizle;
}
private **** btnSayiyiGir_Click(object sender, EventArgs e)
{
//Sayı gir kutusuna bir değer girildiğinde ilk önce girilen değerin
//sayı olup olmadığını kontrol ediyorum. Eğer sayı değilse bir uyarı
//mesajı veriyorum. Girilen değer eğer bir sayı ise bu sayıyı
//girilen sayılar dizisine ekliyorum.
try
{
girilenSayi = Convert.ToInt32(txtGirilenSayi.Text);
}
catch (Exception)
{
MessageBox.Show("Girilen değer sayı değil","Hata",MessageBoxButtons.OK,MessageBoxIcon.Error);
txtGirilenSayi.Text = "";
txtGirilenSayi.Focus();
return;
}
if (girilenSayiSayisi == 10)
{
MessageBox.Show("10 sayı girilmiştir ","Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
txtGirilenSayi.Text = "";
return;
}
else
{
girilenSayilar[girilenSayiSayisi++] = girilenSayi;
lstGirilenSayılar.Items.Add(girilenSayiSayisi.ToString() + ". sayi: " + girilenSayi.ToString() + "\n");
//Yeni sayı girmeye devam ediyorum.
txtGirilenSayi.Text = "";
txtGirilenSayi.Focus();
}
}
private **** btnSonucuGoster_Click(object sender, EventArgs e)
{
int enBuyukSayi = girilenSayilar[0];
int enKucukSayi = girilenSayilar[0];
int sayilarınOrtalamasi = 0;
int sayilarinToplami = 0;
for (int i = 0; i < girilenSayilar.Length; i++)
{
if (enBuyukSayi < girilenSayilar[i])
{
enBuyukSayi = girilenSayilar[i];
}
if (enKucukSayi > girilenSayilar[i])
{
enKucukSayi = girilenSayilar[i];
}
sayilarinToplami += girilenSayilar[i];
}
sayilarınOrtalamasi = sayilarinToplami / girilenSayilar.Length;
lblSonuc.Text = "Minumum Olan Sayı : " + enKucukSayi.ToString() + "\n" +
"Maksimum Olan Sayı : " + enBuyukSayi.ToString() + "\n" +
"Sayıların Toplam Değeri : " + sayilarinToplami.ToString() + "\n" +
"Sayıların Ortalama Değeri : " + sayilarınOrtalamasi.ToString() + "\n";
// Bu kısım ortalamaya en yakın sayıyı bulmak için yapılıyor..
int fark = Math.Abs(sayilarınOrtalamasi - girilenSayilar[0]);
int buffer = 0;
int enYakinSayi = 0;
for (int i = 0; i < girilenSayilar.Length; i++)
{
buffer = Math.Abs(sayilarınOrtalamasi - girilenSayilar[i]);
if (buffer < fark)
{
fark = buffer;
enYakinSayi = girilenSayilar[i];
}
}
MessageBox.Show("En yakin sayi: " + enYakinSayi.ToString(),"Bilgi",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
private **** btnTemizle_Click(object sender, EventArgs e)
{
FormuTemizle();
}
private **** FormuTemizle()
{
lstGirilenSayılar.Items.Clear();
lblSonuc.Text = "";
girilenSayiSayisi = 0;
girilenSayi = -1;
}
}
}