Görsel Programlama (Güz-2016) Hafta-12-1

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 Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            dosyaoku(); // isim listesi okunacak
            lagecen.Text = "Geçen: 0";
            lakalan.Text = "Kalan: 0";
        }

        ListBox logrno1 = new ListBox();

        private void dosyaoku()
        {

            try
            {
                string[] satirlar = File.ReadAllLines("ogrenciler.txt");
                string[] ayrac = { ";" };
                for (int i = 0; i < satirlar.Length; i++)
                {
                    string[] satir = satirlar[i].Split(ayrac,StringSplitOptions.None);

                    if (satir.Length == 2 && satir[0].Length > 7 && satir[1].Length > 0)
                    {
                        cadsoyad.Items.Add(satir[1]);
                        logrno1.Items.Add(satir[0]);
                      
                    }
                
                }

            }
            catch {
                MessageBox.Show("Dosya Okunamadı!");
            }

            cadsoyad.Text = "Seçiniz";
        
        
        }

        ListBox lsharf = new ListBox();
        ListBox lsaltsinir = new ListBox();

        private void bnotlandirma_Click(object sender, EventArgs e)
        {
            fnotlandirma frm = new fnotlandirma(lsharf,lsaltsinir);
            frm.ShowDialog();
            harfhesapla();
        }

        private void bekle_Click(object sender, EventArgs e)
        {
            int vize, final;

            bool k1 = Int32.TryParse(tvize.Text, out vize);
            bool k2 = Int32.TryParse(tfinal.Text, out final);
            int secilen = cadsoyad.SelectedIndex;

            if (k1 && k2 && secilen > -1)
            {
                logrno.Items.Add(logrno1.Items[secilen]);
                ladsoyad.Items.Add(cadsoyad.Items[secilen]); //cadsoyad.Text;
                lvize.Items.Add(vize);
                lfinal.Items.Add(final);

                int ort = (int) Math.Round(vize * 0.4 + final * 0.6);
                lortalama.Items.Add(ort);
                lharf.Items.Add("-");

                cadsoyad.Text = "";
                tvize.Clear();
                tfinal.Clear();

                harfhesapla();

            }
        }


        private void bsil_Click(object sender, EventArgs e)
        {
            int secilen = logrno.SelectedIndex;
            if (secilen > -1)
            {
                logrno.Items.RemoveAt(secilen);
                ladsoyad.Items.RemoveAt(secilen);
                lvize.Items.RemoveAt(secilen);
                lfinal.Items.RemoveAt(secilen);
                lortalama.Items.RemoveAt(secilen);
                lharf.Items.RemoveAt(secilen); 
            }
        }

        private void harfhesapla()
        {
            int gecen = 0;
            int kalan = 0;

            for (int i = 0; i < lortalama.Items.Count; i++)
            {
                int ort = (int) lortalama.Items[i];
                
                if (ort >=(int) lsaltsinir.Items[4]) // CC dosyada 4. indis
                    gecen++;
                else
                    kalan++;

                string harf = "FF";
                for (int j = 0; j < lsaltsinir.Items.Count; j++)
                {
                    if (ort >= (int)lsaltsinir.Items[j])
                    {
                        harf = lsharf.Items[j].ToString();
                        break;
                    }
                }

                lharf.Items[i] = harf; // guncelleme
            
            }

            lagecen.Text = "Geçen: " + gecen;
            lakalan.Text = "Kalan: " + kalan;
        
        }

        private void bdyaz_Click(object sender, EventArgs e)
        {
            string yazilacak = "";
            for (int i = 0; i < logrno.Items.Count; i++)
                yazilacak += logrno.Items[i] + ";" + ladsoyad.Items[i] + ";" + lvize.Items[i] + ";" + lfinal.Items[i] + ";" + lortalama.Items[i] + ";" + lharf.Items[i] + "\n";

            try
            {
                File.WriteAllText("ozet.txt",yazilacak);
                MessageBox.Show("Dosya Yazıldı!");
            }
            catch {
                MessageBox.Show("Dosya Yazılamadı!");
            }

        }
    }
}
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 fnotlandirma : Form
    {
        ListBox lh, la;
        public fnotlandirma(ListBox _lh, ListBox _la)
        {
            InitializeComponent();
            lh = _lh;
            la = _la;

            for (int i = 0; i < lh.Items.Count; i++)
            {
                lharf.Items.Add(lh.Items[i]);
                laltsinir.Items.Add(la.Items[i]);
            }

        }

        private void bdyaz_Click(object sender, EventArgs e)
        {
            string yazilacak = "";
            for (int i = 0; i < lharf.Items.Count; i++)
            {
                yazilacak += lharf.Items[i] + ";" + laltsinir.Items[i] + "\n";
            }

            try
            {
                File.WriteAllText("notlar.txt", yazilacak);
                MessageBox.Show("Dosyaya Yazıldı!");
            }
            catch {
                MessageBox.Show("Dosyaya Yazılamadı!");
            }
        }

        private void bdoku_Click(object sender, EventArgs e)
        {

            try
            {
                lharf.Items.Clear();
                laltsinir.Items.Clear();

                lh.Items.Clear();
                la.Items.Clear();

                string[] satirlar = File.ReadAllLines("notlar.txt");
                string[] ayrac = { ";" };
                for (int i = 0; i < satirlar.Length; i++)
                {
                    string[] satir = satirlar[i].Split(ayrac, StringSplitOptions.None);
                    if (satir.Length == 2)
                    {
                        int sinir;
                        bool k = Int32.TryParse(satir[1], out sinir);

                        if (k && satir[0].Length > 0)
                        {
                            lharf.Items.Add(satir[0]);
                            laltsinir.Items.Add(sinir);

                            lh.Items.Add(satir[0]);
                            la.Items.Add(sinir);

                        }
                    
                    }
                
                }

            }
            catch
            {
                MessageBox.Show("Dosya Okunamadı!");
            
            }
        }

        private void bduzenle_Click(object sender, EventArgs e)
        {

            int secilen = lharf.SelectedIndex;
            int sinir;
            bool k = Int32.TryParse(taltsinir.Text, out sinir);
            if (k && secilen > -1)
            {
                laltsinir.Items[secilen] = sinir;
                la.Items[secilen] = sinir;

                taltsinir.Clear();
            }

        }
    }
}

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

Share