using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace ornek1
{
public partial class Form1 : Form
{
int paketfiyat;
int[] miktarlar = { 0, 0, 0 };
double[] asimlar = { 0, 0, 0 };
public Form1()
{
InitializeComponent();
tpaketfiyat.Text = "10";
tsmsmiktar.Text = "100";
tsmsucret.Text = "0,4";
tdkmiktar.Text = "100";
tdkucret.Text = "0,6";
tmbmiktar.Text = "100";
tmbucret.Text = "0,3";
rbsms.Checked = true;
}
private void bekle_Click(object sender, EventArgs e)
{
int miktar;
bool kmiktar = Int32.TryParse(tmiktar.Text, out miktar);
if (kmiktar && miktar > 0 && paramkontrol())
{
if (rbsms.Checked)
ltur.Items.Add(rbsms.Text);
else if (rbdk.Checked)
ltur.Items.Add(rbdk.Text);
else
ltur.Items.Add(rbmb.Text);
lmiktar.Items.Add(miktar);
rbsms.Checked = true;
tmiktar.Clear();
hesapla();
}
}
private void bsil_Click(object sender, EventArgs e)
{
int secilen = ltur.SelectedIndex;
if (secilen > -1 && paramkontrol())
{
ltur.Items.RemoveAt(secilen);
lmiktar.Items.RemoveAt(secilen);
hesapla();
}
}
private void hesapla()
{
double tutar = paketfiyat * 1.0;
string[] turler = { rbsms.Text, rbdk.Text, rbmb.Text };
lfiyat.Items.Clear();
for (int i = 0; i < ltur.Items.Count; i++)
{
int index=-1;
string tur = ltur.Items[i].ToString(); // (string) ltur.Items[i]
for (int k = 0; k < turler.Length; k++)
if (turler[k] == tur)
{
index = k;
break;
}
int miktar = (int)lmiktar.Items[i];
miktarlar[index] -= miktar;
double asim=0;
if (miktarlar[index] < 0)
{
double p_asim = asimlar[index];
asim = p_asim * miktarlar[index] * -1;
miktarlar[index] = 0;
}
tutar += asim;
lfiyat.Items.Add(asim);
}
latutar.Text = tutar + " TL";
}
private bool paramkontrol()
{
bool kpaket = Int32.TryParse(tpaketfiyat.Text, out paketfiyat);
bool ksmsmiktar = Int32.TryParse(tsmsmiktar.Text, out miktarlar[0]);
bool kdkmiktar = Int32.TryParse(tdkmiktar.Text, out miktarlar[1]);
bool kmbmiktar = Int32.TryParse(tmbmiktar.Text, out miktarlar[2]);
bool ksmsasim = Double.TryParse(tsmsucret.Text, out asimlar[0]);
bool kdkasim = Double.TryParse(tdkucret.Text, out asimlar[1]);
bool kmbasim = Double.TryParse(tmbucret.Text, out asimlar[2]);
if (kpaket && ksmsmiktar && kdkmiktar && kmbmiktar
&& ksmsasim && kdkasim && kmbasim)
return true;
return false;
}
private void bguncelle_Click(object sender, EventArgs e)
{
if(paramkontrol())
hesapla();
}
private void bkapat_Click(object sender, EventArgs e)
{
this.Close();
}
}
}
GP (Güz-2016) Hafta-7/1