Görsel Programlama (Güz-2016) Hafta-13

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
    {
        double[] katsayi_bay = {66,13.7,5,6.8};
        double[] katsayi_bayan = {655,9.6,1.7,4.7};
        public Form1()
        {
            InitializeComponent();
            tyas.Text = "25";
            tboy.Text = "170";
            tkilo.Text = "79,5";
            rbay.Checked = true;
            lagunkal.Text = "0";
            lalistekal.Text = "0";
            cbesin.Text = "Seçiniz";
        }


        private void kisigunluk()
        {
            double[] katsayi = katsayi_bay;

            if (rbayan.Checked)
                katsayi = katsayi_bayan;

            int yas;
            double boy, kilo, aktivite = 1;

            bool k1 = Int32.TryParse(tyas.Text, out yas);
            bool k2 = Double.TryParse(tboy.Text, out boy);
            bool k3 = Double.TryParse(tkilo.Text, out kilo);

            if (k1 && k2 && k3)
            {
                int gereklikalori = (int)Math.Ceiling((katsayi[0] + katsayi[1] * kilo + katsayi[2] * boy - katsayi[3] * yas) * aktivite);

                lagunkal.Text =gereklikalori+" cal";
            }
            else
            {
                lagunkal.Text = "-";
            }

            int toplam = 0;
            for (int i = 0; i < lkalori.Items.Count; i++)
                toplam += (int)lkalori.Items[i];

            lalistekal.Text = toplam + " cal";
        
        }

        private void bekle_Click(object sender, EventArgs e)
        {
            double porsiyon;
            bool k = Double.TryParse(tporsiyon.Text, out porsiyon);

            int secilen = cbesin.SelectedIndex;

            if (secilen > -1 && k)
            {
                lbesin.Items.Add(cbesin.Text);
                lporsiyon.Items.Add(porsiyon);
                lkalori.Items.Add(kalorihesapla(secilen,porsiyon));

                cbesin.Text = "Seçilen";
                tporsiyon.Clear();
                kisigunluk();
            }
        }

        private int kalorihesapla(int secilen, double porsiyon)
        {
            double kalori = 0;

            int mevcutmiktar = (int)porsmiktari.Items[secilen];
            int kalorimiktar = (int)kalorimiktari.Items[secilen];

            kalori = porsiyon *1.0* kalorimiktar / mevcutmiktar;

            return (int)Math.Ceiling(kalori);
        }

        private void bsil_Click(object sender, EventArgs e)
        {
            int secilen = lbesin.SelectedIndex;
            if (secilen > -1)
            {
                lbesin.Items.RemoveAt(secilen);
                lporsiyon.Items.RemoveAt(secilen);
                lkalori.Items.RemoveAt(secilen);
                kisigunluk();
            }

        }

        ListBox porsmiktari = new ListBox();
        ListBox kalorimiktari = new ListBox();

        private void bliste_Click(object sender, EventArgs e)
        {
            fbesinlistesi frm = new fbesinlistesi(cbesin,porsmiktari,kalorimiktari);
            frm.ShowDialog();
        }
    }
}
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;
using System.IO;

namespace ornek1
{
    public partial class fbesinlistesi : Form
    {
        ComboBox f1cbesin;
        ListBox f1porsmiktari, f1kalorimiktari;

        public fbesinlistesi(ComboBox cb, ListBox lb1, ListBox lb2)
        {
            InitializeComponent();

            f1cbesin = cb;
            f1porsmiktari = lb1;
            f1kalorimiktari = lb2;

            for (int i = 0; i < cb.Items.Count; i++)
            {
                lbesin.Items.Add(f1cbesin.Items[i]);
                lpormik.Items.Add(f1porsmiktari.Items[i]);
                lkalori.Items.Add(f1kalorimiktari.Items[i]);
            
            }

        }

        private void bekle_Click(object sender, EventArgs e)
        {
            int pormik, kalori;
            bool k1 = Int32.TryParse(tpormik.Text, out pormik);
            bool k2 = Int32.TryParse(tkalori.Text, out kalori);

            if (k1 && k2 && tbesin.Text.Length > 0)
            {
                lbesin.Items.Add(tbesin.Text);
                lpormik.Items.Add(pormik);
                lkalori.Items.Add(kalori);

                f1cbesin.Items.Add(tbesin.Text);
                f1porsmiktari.Items.Add(pormik);
                f1kalorimiktari.Items.Add(kalori);

                tbesin.Clear();
                tpormik.Clear();
                tkalori.Clear();
            }

        }

        private void bduzenle_Click(object sender, EventArgs e)
        {
            int secilen = lbesin.SelectedIndex;
            
            int pormik, kalori;
            bool k1 = Int32.TryParse(tpormik.Text, out pormik);
            bool k2 = Int32.TryParse(tkalori.Text, out kalori);

            if (secilen > -1 && k1 && k2)
            {
                lpormik.Items[secilen] = pormik;
                lkalori.Items[secilen] = kalori;

                f1porsmiktari.Items[secilen] = pormik;
                f1kalorimiktari.Items[secilen] = kalori;

                tpormik.Clear();
                tkalori.Clear();
            }


        }

        private void bdyaz_Click(object sender, EventArgs e)
        {
            string yazilacak = "";
            for (int i = 0; i < lbesin.Items.Count; i++)
                yazilacak += lbesin.Items[i] + ";" + lpormik.Items[i] + ";" + lkalori.Items[i] + "\n";
            try
            {
                File.WriteAllText("besinliste.txt", yazilacak);
            }
            catch { }
        
        }

        private void bdoku_Click(object sender, EventArgs e)
        {
            lbesin.Items.Clear();
            lpormik.Items.Clear();
            lkalori.Items.Clear();

            f1cbesin.Items.Clear();
            f1kalorimiktari.Items.Clear();
            f1porsmiktari.Items.Clear();

            try {
               string[] liste= File.ReadAllLines("besinliste.txt");
               string[] ayrac = {";" };

                for (int i = 0; i < liste.Length; i++)
               {
                   string[] sutun = liste[i].Split(ayrac,StringSplitOptions.None);
                   if (sutun.Length == 3)
                   {
                       int pormik, kalori;
                       bool k1 = Int32.TryParse(sutun[1],out pormik);
                       bool k2 = Int32.TryParse(sutun[2], out kalori);

                       if (k1 && k2 && sutun[0].Length > 0)
                       {
                           lbesin.Items.Add(sutun[0]);
                           lpormik.Items.Add(pormik);
                           lkalori.Items.Add(kalori);

                           f1cbesin.Items.Add(sutun[0]);
                           f1porsmiktari.Items.Add(pormik);
                           f1kalorimiktari.Items.Add(kalori);
                       }
                   }
               }


            }
            catch { }

        }
    }
}

 

 

GP (Güz-2016) Hafta-13/1

Share