23 Kasım 2014 Pazar

C Sharp Uygulamalar Girilen 10 Sayının Minimum - Maksimum - Ortlama-Toplam Değerlerini Hesaplama



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form ekranından girilen 10 sayının minimum değerini hesaplama, maksimum değerini hesaplama, ortalama değerini hesaplama, tüm sayıların toplamını hesaplama.

Bu uygulamada textbox dan girilen 10 sayı bir diziye eklenecek. Ayrıca diziye eklenen tüm elemanlar listbox da gösterilecek. Textbox dan girilen değerler için sayı mı değil mi kontrolü yapılacak. 10 sayı girilmesi tamamlandıktan sonra girilen sayıların minimumu, maksimumu, ortalaması ve toplamı hesaplanacak. Hesaplan ortalama değere en yakın sayı bulunacak.




UYGULAMAYI İNDİR


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 void 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 void 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 void 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 void btnTemizle_Click(object sender, EventArgs e)
        {
            FormuTemizle();
        }

        private void FormuTemizle()
        {
            lstGirilenSayılar.Items.Clear();
            lblSonuc.Text = "";

            girilenSayiSayisi = 0;
            girilenSayi = -1;
        }
    }
}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönderme