Пример #1
0
        public static List <Ders> Sirala(List <Ders> Siralanacak, bool DosyayaYazilsinMi, SiralamaOlcudu NeyeGore)
        {
            int kapasite = Siralanacak.Count - 1;

            for (int i = 0; i < kapasite; i++)
            {
                for (int j = 0; j < kapasite - i; j++)
                {
                    switch (NeyeGore)
                    {
                    case SiralamaOlcudu.KodunaGore:
                        if (Siralanacak[j].Kod.CompareTo(Siralanacak[j + 1].Kod) > 0)
                        {
                            Ders temp = Siralanacak[j];
                            Siralanacak[j]     = Siralanacak[j + 1];
                            Siralanacak[j + 1] = temp;
                        }
                        break;

                    case SiralamaOlcudu.AdinaGore:
                        if (Siralanacak[j].Ad.CompareTo(Siralanacak[j + 1].Ad) > 0)
                        {
                            Ders temp = Siralanacak[j];
                            Siralanacak[j]     = Siralanacak[j + 1];
                            Siralanacak[j + 1] = temp;
                        }
                        break;

                    case SiralamaOlcudu.KredisineGore:
                        if (Siralanacak[j].Kredi > Siralanacak[j + 1].Kredi)
                        {
                            Ders temp = Siralanacak[j];
                            Siralanacak[j]     = Siralanacak[j + 1];
                            Siralanacak[j + 1] = temp;
                        }
                        break;

                    default:
                        break;
                    }
                }
            }

            if (DosyayaYazilsinMi)
            {
                switch (NeyeGore)
                {
                case SiralamaOlcudu.KodunaGore:
                    DosyayiBosalt("output.txt");
                    foreach (Ders item in Siralanacak)
                    {
                        item.SiraliDosyayaYaz("output.txt");
                    }
                    break;

                case SiralamaOlcudu.AdinaGore:
                    DosyayiBosalt("outputad.txt");
                    foreach (Ders item in Siralanacak)
                    {
                        item.SiraliDosyayaYaz("outputad.txt");
                    }
                    break;

                case SiralamaOlcudu.KredisineGore:
                    DosyayiBosalt("outputkredi.txt");
                    foreach (Ders item in Siralanacak)
                    {
                        item.SiraliDosyayaYaz("outputkredi.txt");
                    }
                    break;

                default:
                    break;
                }
            }
            return(Siralanacak);
        }
Пример #2
0
        private void button3_Click(object sender, EventArgs e)
        {
            listView_derslerinlistesi.Items.Clear();

            Dictionary <string, int> mesaj_listesi = new Dictionary <string, int>();
            List <Ders> silinecek_dersler          = new List <Ders>();
            List <Ders> dersler = Ders.DersleriListele("input.txt");

            dersler = Ders.Sirala(dersler, false, Ders.SiralamaOlcudu.KodunaGore);

            for (int i = 0; i < dersler.Count - 1; i++)
            {
                Ders ayni_dersler = null;
                int  ayniSayisi   = 0;
                while (dersler[i].Kod == dersler[i + 1].Kod && i < dersler.Count - 1)
                {
                    ayni_dersler = dersler[i];
                    ayniSayisi++;

                    if (ayniSayisi == 1)
                    {
                        ListViewItem item = new ListViewItem(ayni_dersler.Kod);
                        item.SubItems.Add(ayni_dersler.Ad);
                        item.SubItems.Add(ayni_dersler.Kredi.ToString());
                        item.SubItems.Add(ayni_dersler.OnSart);
                        item.SubItems.Add(ayni_dersler.Aciklama);
                        listView_derslerinlistesi.Items.Add(item);
                        mesaj_listesi.Add(ayni_dersler.Ad, 0);
                    }

                    silinecek_dersler.Add(ayni_dersler);
                    mesaj_listesi[ayni_dersler.Ad]++;

                    if (i < dersler.Count - 3)
                    {
                        i++;
                    }
                }

                ayniSayisi   = 0;
                ayni_dersler = null;
            }

            string mesaj = "Aşağıdaki kayıtlar silinecektir. Onaylıyor musunuz?";

            foreach (var item in mesaj_listesi)
            {
                mesaj += "\n" + item.Key + " dersinden " + item.Value + " adet ";
            }

            DialogResult result = MessageBox.Show(mesaj, "Uyarı!", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (result == DialogResult.Yes)
            {
                foreach (Ders item in silinecek_dersler)
                {
                    dersler.Remove(item);
                }
            }

            Ders.DosyayiBosalt("output.txt");

            listView_derslerinlistesi.Items.Clear();
            foreach (Ders item in dersler)
            {
                item.DosyayaYaz("output.txt");
                ListViewItem yeni_item = new ListViewItem(item.Kod);
                yeni_item.SubItems.Add(item.Ad);
                yeni_item.SubItems.Add(item.Kredi.ToString());
                yeni_item.SubItems.Add(item.OnSart);
                yeni_item.SubItems.Add(item.Aciklama);
                listView_derslerinlistesi.Items.Add(yeni_item);
            }
        }