26 Mart 2016 Cumartesi

C Sharp Form Uygulamalar D'Hondt Sistemi Kullanarak Oy Hesaplama İşlemleri



KONU : C Sharp Uygulamalar - C Sharp ( C# ) form uygulamasında oy hesaplama programı hazırlama. D'Hondt sistemi kullanarak oy hesaplama programı hazırlama. Hangi partinin kaç milletvekili çıkardığını hesaplama ve liste biçiminde oyları listeleme. D'Hondt metodunu kullanarak oylara göre milletvekili sayısını hesaplama.
ETİKETLER: c sharp oy hesaplama - c sharp D'Hondt sistemi - c sharp oy - c sharp milletvekili - c sharp hesaplama - c sharp listbox - c sharp groupbox - c sharp milletvekili sayısı hesaplama - c sharp D'Hondt yöntemi - c sharp D'Hondt method - c sharp D'Hondt metodu





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_Form_Oy_Hesaplama
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        int a, b, c, mvekilisayi;

        void temizle()
        {
            txtPartiA.Clear();
            txtPartiB.Clear();
            txtPartiC.Clear();
            txtMilletvekiliSayisi.Clear();
        }

        List< Parti > partiler = new List< Parti >();

        void hesapla()
        {
            partiler.Clear();

            mvekilisayi = Convert.ToInt32(txtMilletvekiliSayisi.Text);

            List< int > oylar = new List< int >();

            oylar.Add(Convert.ToInt32(txtPartiA.Text));
            oylar.Add(Convert.ToInt32(txtPartiB.Text));
            oylar.Add(Convert.ToInt32(txtPartiC.Text));

            Parti parti;
            for (int i = 0; i < 3; i++)
            {
                parti = new Parti();
                parti.MilletvekiliSayisi = 0;
                parti.Bolen = 1;
                parti.ToplamOy = oylar[i];
                partiler.Add(parti);

            }

            string data = String.Format("{0,-50}", "");

            for (int i = 0; i < partiler.Count; i++)
            {
                string temp  = (i+1).ToString() + ". Parti";

                data += String.Format("{0,-15}", temp);
            }
        
            listBox.Items.Add(data);

            data =  String.Format("{0,-38}", "Oy");
          
            for (int i = 0; i < partiler.Count; i++)
            {
                data += String.Format("{0,14}", partiler[i].ToplamOy);
            }

            listBox.Items.Add(data);

            while (mvekilisayi-- != 0)
            {


                parti = partiler[0];
              
                for (int i = 1; i < partiler.Count; i++)
                {
                    if (partiler[i].ToplamOy / partiler[i].Bolen > parti.ToplamOy / parti.Bolen)
                    {
                        parti = partiler[i];
                    }
                }



                data = String.Format("{0,-36}", (7-mvekilisayi).ToString() + ".milletvekili");
 
                for (int i = 0; i < partiler.Count; i++)
                {
                    data += String.Format("{0,14}", partiler[i].HesaplanOy);
                }

                listBox.Items.Add(data);

                parti.MilletvekiliSayisi++;
                parti.Bolen++;
            }


            data = String.Format("{0,-34}", "Milletvekili Sayıları");

            for (int i = 0; i < partiler.Count; i++)
            {
                data += String.Format("{0,14}", partiler[i].MilletvekiliSayisi.ToString("00000"));
            }
           
            listBox.Items.Add(data);

        }

        private void btnHesapla_Click(object sender, EventArgs e)
        {
            listBox.Items.Clear();
            hesapla();
        }
    }

    class Parti
    {
        public Parti()
        {
 
        }

        private int hesaplananOy ;
        private int bolen;
        private int milletvekiliSayisi;
        private int toplamOy;

        public int Bolen
        {
            get
            {
                return bolen;
            }
            set
            {
                bolen = value;
            }
        }

        public int MilletvekiliSayisi
        {
            get
            {
                return milletvekiliSayisi;
            }
            set
            {
                milletvekiliSayisi = value;
            }
        }

        public int ToplamOy 
        { 
            get
            {
                return toplamOy;
            }
            set
            {
                toplamOy = value;
            } 
        }

        public int HesaplanOy
        {
            get
            {
                return toplamOy / bolen;
            }
        }
    }
}

UYGULAMAYI İNDİR

2 yorum :