Untitled

mail@pastecode.io avatar
unknown
csharp
2 years ago
33 kB
6
Indexable
Never
using System;

namespace OkulYonetimUygulamasi_G034
{
    internal class Program
    {
        static void Main(string[] args)
        {
            new Uygulama().Calistir();
        }
    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OkulYonetimUygulamasi_G034
{
    internal class Uygulama
    {
        public Okul Okul34 = new Okul();
        string cikisMesaj = "Menüyü tekrar listelemek için \"liste\", çıkış yapmak için \"çıkış\" yazın.";

        public void Calistir()
        {
            SahteVeriGir();
            Menu();
            SecimAl();
            //switch-case

        }

        void SahteVeriGir()
        {
            //Ogrenci o = new Ogrenci();
            //o.Ad = "";
            //o.Soyad = "";
            //o.Subesi = "";
            Okul34.OgrenciEkle(15, "AHMET", "DELİBAŞ", SUBE.B, CINSIYET.Erkek, new DateTime(2008, 05, 18));
            Okul34.OgrenciEkle(35, "VELİ", "KİMDİ", SUBE.A, CINSIYET.Erkek, new DateTime(2007, 05, 18));
            Okul34.OgrenciEkle(25, "MAHMUT", "AYDA", SUBE.C, CINSIYET.Erkek, new DateTime(2007, 05, 20));
            Okul34.OgrenciEkle(45, "DERVİŞ", "GİTMİŞ", SUBE.B, CINSIYET.Erkek, new DateTime(2006, 05, 18));
            Okul34.OgrenciEkle(55, "PINAR", "TEK", SUBE.A, CINSIYET.Kız, new DateTime(2004, 05, 18));
            Okul34.OgrenciEkle(65, "ECE", "ERKEN", SUBE.C, CINSIYET.Kız, new DateTime(2001, 05, 18));
            Okul34.OgrenciEkle(75, "SEDA", "SAYMAZ", SUBE.A, CINSIYET.Kız, new DateTime(2003, 05, 18));
        }

        void Menu()
        {
            Console.WriteLine("------Okul Yönetim Uygulamasi  -----");
            Console.WriteLine();
            Console.WriteLine("1 - Bütün öğrencileri listele");
            Console.WriteLine("2 - Şubeye göre öğrencileri listele");
            Console.WriteLine("3 - Cinsiyetine göre öğrencileri listele");
            Console.WriteLine("4 - Şu tarihten sonra doğan öğrencileri listele");
            Console.WriteLine("5 - İllere göre sıralayarak öğrencileri listele");
            Console.WriteLine("6 - Öğrencinin tüm notlarını listele");
            Console.WriteLine("7 - Öğrencinin okuduğu kitapları listele");
            Console.WriteLine("8 - Okuldaki en yüksek notlu 5 öğrenciyi listele");
            Console.WriteLine("9 - Okuldaki en düşük notlu 3 öğrenciyi listele");
            Console.WriteLine("10 - Şubedeki en yüksek notlu 5 öğrenciyi listele");
            Console.WriteLine("11 - Şubedeki en düşük notlu 3 öğrenciyi listele");
            Console.WriteLine("12 - Öğrencinin not ortalamasını gör");
            Console.WriteLine("13 - Şubenin not ortalamasını gör");
            Console.WriteLine("14 - Öğrencinin okuduğu son kitabı gör");
            Console.WriteLine("15 - Öğrenci ekle");
            Console.WriteLine("16 - Öğrenci güncelle");
            Console.WriteLine("17 - Öğrenci sil");
            Console.WriteLine("18 - Öğrencinin adresini gir");
            Console.WriteLine("19 - Öğrencinin okuduğu kitabı gir");
            Console.WriteLine("20 - Öğrencinin notunu gir");
            Console.WriteLine();
            Console.WriteLine("Çıkış yapmak için “çıkış” yazıp “enter”a basın." + Environment.NewLine);
        }

        void SecimAl()
        {
            while (true)
            {

                Console.WriteLine();
                Console.Write("Yapmak istediğiniz işlemi seçiniz: ");
                string secim = Console.ReadLine();

                switch (secim)
                {
                    case "1":
                        OgrenciListele();
                        break;
                    case "2":
                        SubeyeGoreListele();
                        break;
                    case "3":
                        CinsiyeteGoreListele();
                        break;
                    case "4":
                        XTarihtenSonraDogan();
                        break;
                    case "5":
                        IllereGoreAlfabetikOgrenci();
                        break;
                    case "6":
                        DerseGoreTumNotlar();
                        break;
                    case "7":
                        OkuduguKitaplarListele();
                        break;
                    case "8":
                        EnYuksek5Not();
                        break;
                    case "9":
                        EnDusuk3Not();
                        break;
                    case "10":
                        //SubedekiEnYüksek5Not();
                        break;
                    case "11":
                        //SubedekiEnDusuk3Not();
                        break;
                    case "12":
                        //OgrenciNotOrtalamasiGoster();
                        break;
                    case "13":
                        //SubeNotOrtalama();
                        break;
                    case "14":
                        //OgrenciSonKitap();
                        break;
                    case "15":
                        //OgrenciEkle();
                        break;
                    case "16":
                        //OgrenciGuncelle();
                        break;
                    case "17":
                        OgrenciSil();
                        break;
                    case "18":
                        OgrenciAdresiEkle();
                        break;
                    case "19":
                        //OgrenciOkuduguKitap();
                        break;
                    case "20":
                        //OgrenciNotuEkle();
                        break;
                    case "çıkış":
                        Environment.Exit(0);
                        break;
                    case "liste":
                        Menu();
                        break;
                    default:
                        Console.WriteLine("Hatalı işlem gerçekleştirildi. Tekrar deneyin." + Environment.NewLine);
                        break;
                }

            }
        }

        void OgrenciListele()
        {
            List<Ogrenci> TumOgrencilerListe;
            TumOgrencilerListe = Okul34.Ogrenciler.OrderBy(x => x.No).ToList();

            Console.WriteLine("1-Bütün Öğrencileri Listele --------------------------------------------------" + Environment.NewLine);
            Listele(TumOgrencilerListe);

        }

        void SubeyeGoreListele()
        {
            string giris;
            Console.WriteLine("2-Şubeye Göre Öğrencileri Listele --------------------------------------------");

            do
            {
                Console.Write("Listelemek istediğiniz şubeyi girin (A/B/C): ");
                giris = Console.ReadLine().ToUpper();

                if (!AracGerecler.HarfMi(giris) || !AracGerecler.VeriVarMi(giris) || !AracGerecler.SubeMi(giris)) continue;
                break;

            } while (true);


            SUBE secim = (SUBE)Enum.Parse(typeof(SUBE), giris);
            List<Ogrenci> subeyeGöreOgrListe;
            subeyeGöreOgrListe = Okul34.Ogrenciler.Where(x => x.Subesi == secim).OrderBy(x => x.No).ToList();

            Listele(subeyeGöreOgrListe);
        }

        void CinsiyeteGoreListele()
        {
            List<Ogrenci> cinsiyeteGoreListe;
            string giris;
            Console.WriteLine("3-Cinsiyete Göre Öğrencileri Listele --------------------------------------------");

            do
            {
                Console.Write("Listelemek istediğiniz cinsiyeti girin (K/E): ");
                giris = Console.ReadLine().ToUpper();
                
                

                if (!AracGerecler.HarfMi(giris) || !AracGerecler.VeriVarMi(giris)) { continue;}
                if (giris.ToUpper() == "K" )                                                                //Burada yapılan seçime göre cinsiyetin ne olduğu belirlense ve Linq bir kerede o seçimi kullanarak seçimi yapsa nasıl yazılırdı?
                { 
                    cinsiyeteGoreListe = Okul34.Ogrenciler.Where(x => x.Cinsiyet == CINSIYET.Kız).OrderBy(x=>x.No).ToList();
                    break;
                }
                else if (giris.ToUpper() == "E")
                {
                    cinsiyeteGoreListe = Okul34.Ogrenciler.Where(x => x.Cinsiyet == CINSIYET.Erkek).OrderBy(x => x.No).ToList();
                    break;
                }
                else
                {
                    Console.WriteLine("Hatalı giriş yapıldı, tekrar deneyin.");
                    continue;
                }


            } while (true);

            Listele(cinsiyeteGoreListe);

        }

        void XTarihtenSonraDogan()
        {
            DateTime dTarihi;
            List<Ogrenci> xTarihtenSonraDoganlar;

            Console.WriteLine("4-Dogum Tarihine Göre Ögrencileri Listele ------------------------------------");
            do
            {
                Console.Write("Hangi tarihten sonraki ögrencileri listelemek istersiniz (Gün.Ay.Yıl): ");
                string giris = Console.ReadLine();
                if (DateTime.TryParse(giris, out dTarihi))
                {
                    //List<Ogrenci> dTarihineGoreListe = Okul34.Ogrenciler.OrderBy(x => x.DogumTarihi).ToList();
                    //int index = dTarihineGoreListe.FindIndex(x => x.DogumTarihi == dTarihi);
                    //xTarihtenSonraDoganlar = dTarihineGoreListe.Skip(index).OrderBy(x => x.No).ToList();

                    xTarihtenSonraDoganlar = Okul34.Ogrenciler.Where(x => x.DogumTarihi >= dTarihi).OrderBy(x=>x.No).ToList();

                    break;
                }
                else
                {
                    Console.WriteLine("Hatalı giriş yapıldı. Tekrar deneyin.");
                    continue;
                }
            } while (true);

            Listele(xTarihtenSonraDoganlar);
        
            
        }

        void IllereGoreAlfabetikOgrenci()
        {
            Console.WriteLine("5-Illere Göre Ögrencileri Listele --------------------------------------------"+Environment.NewLine);

            try
            {
                List<Ogrenci> ileGoreAlfabetikListe = Okul34.Ogrenciler.OrderByDescending(x => x.Adresi.Il).ThenBy(x => x.No).ToList();

                Console.WriteLine("Şube".PadRight(8) + "No".PadRight(8) + "Adı Soyadı".PadRight(20) + "Şehir ".PadRight(14) + "Semt");
                Console.WriteLine("-------------------------------------------------------------------------------");

                foreach (Ogrenci ogr in ileGoreAlfabetikListe)
                {
                    Console.WriteLine(ogr.Subesi.ToString().PadRight(8) + ogr.No.ToString().PadRight(8) + ogr.Ad.PadRight(8) + ogr.Soyad.PadRight(12) + ogr.Adresi.Il.PadRight(14) + ogr.Adresi.Mahalle.PadRight(12));
                }
            }
            catch (NullReferenceException)
            {
                Console.WriteLine();
                Console.WriteLine("Öğrencilerin adres bilgileri bulunmuyor. Adres bilgisi giriniz");
              
            }
            

            Console.WriteLine();
            Console.WriteLine(cikisMesaj);

        }

        void DerseGoreTumNotlar()
        {

        }

        void OkuduguKitaplarListele()  // Buradaki hata mesajlarını if/else yerine, try/catch yapısıyla nasıl yayınlarız? 
        {

            Console.WriteLine();
            Console.WriteLine("7-Ögrencinin okudugu kitapları listele ---------------------------------------");

            do
            {

                int ogrNo;
                Console.Write("Ögrencinin numarasi: ");
                if (int.TryParse(Console.ReadLine(), out ogrNo))
                {
                    if (Okul34.OgrenciMi(ogrNo) == null)
                    {
                        Console.WriteLine("Bu numarada bir öğrenci yok. Tekrar deneyin.");
                        continue;
                    }

                    else
                    {

                        Ogrenci ogr = Okul34.OgrenciMi(ogrNo);

                        Console.WriteLine();
                        Console.WriteLine("Ögrencinin Adı Soyadı:" + ogr.Ad.Substring(0, 1).ToUpper() + ogr.Ad.Substring(1).ToLower() + " " + ogr.Soyad.Substring(0, 1).ToUpper() + ogr.Soyad.Substring(1).ToLower());
                        Console.WriteLine("Ögrencinin Subesi: " + ogr.Subesi + Environment.NewLine);
                        Console.WriteLine("Okuduğu Kitaplar");
                        Console.WriteLine("-----------------");

                        List<string> kitapListe;
                        kitapListe = ogr.Kitaplar.ToList();

                        foreach (var kitap in kitapListe)
                        {
                            Console.WriteLine(kitap);
                        }


                        Console.WriteLine();
                        Console.WriteLine(cikisMesaj + Environment.NewLine);
                        break;
                    }
                }


                else
                { Console.WriteLine("Hatalı giriş yapıldı. Tekrar deneyin."); }

            } while (true);
        }

        void EnYuksek5Not()
        {

            //Console.Write("Listelemek istediğiniz şubeyi girin (A/B/C): ");
            //string giris = Console.ReadLine().ToUpper();   // Buraya bunun bir şube olup olmadığına dair bir kontrol girilebilir mi ? 
            //SUBE sube = (SUBE)Enum.Parse(typeof(SUBE), giris);

            List<Ogrenci> liste;
            liste = Okul34.Ogrenciler.OrderByDescending(x => x.NotOrtalamasi).Take(5).ToList();

            Console.WriteLine();
            Console.WriteLine("8-Okuldaki en basarılı 5 ögrenciyi listele -----------------------------------" + Environment.NewLine);
            Listele(liste);
        }

        void EnDusuk3Not()
        {
            List<Ogrenci> liste;
            liste = Okul34.Ogrenciler.OrderBy(x => x.NotOrtalamasi).Take(3).ToList();

            Console.WriteLine();
            Console.WriteLine("9-Okuldaki en basarısız 3 ögrenciyi listele -----------------------------------" + Environment.NewLine);
            Listele(liste);

        }

        void Listele(List<Ogrenci> liste)
        {
            Console.WriteLine("Şube".PadRight(8) + "No".PadRight(8) + "Adı Soyadı".PadRight(20) + "Not Ort. ".PadRight(14) + "Okuduğu Kitap Say.");
            Console.WriteLine("-------------------------------------------------------------------------------");

            foreach (Ogrenci ogr in liste)
            {
                Console.WriteLine(ogr.Subesi.ToString().PadRight(8) + ogr.No.ToString().PadRight(8) + ogr.Ad.PadRight(8) + ogr.Soyad.PadRight(12) + ogr.NotOrtalamasi.ToString().PadRight(14) + ogr.Kitaplar.Count().ToString().PadRight(12));
            }

            Console.WriteLine();
            Console.WriteLine(cikisMesaj);
        }

        void OgrenciSil()
        {
            Console.WriteLine();
            Console.WriteLine("17-Öğrenci Sil -----------------------------------------------------");
            int ogrNo;

            while (true)
            {
                Console.Write("Ögrencinin numarası: ");

                if (int.TryParse(Console.ReadLine(), out ogrNo))
                {
                    if (Okul34.OgrenciMi(ogrNo) == null)
                    {
                        Console.WriteLine("Bu numarada bir öğrenci yok. Tekrar deneyin.");
                        continue;
                    }

                    else
                    {
                        Ogrenci ogr = Okul34.OgrenciMi(ogrNo);

                        Console.WriteLine();
                        Console.WriteLine("Ögrencinin Adı Soyadı: " + ogr.Ad.Substring(0, 1).ToUpper() + ogr.Ad.Substring(1).ToLower() + " " + ogr.Soyad.Substring(0, 1).ToUpper() + ogr.Soyad.Substring(1).ToLower());
                        Console.WriteLine("Ögrencinin Subesi: " + ogr.Subesi + Environment.NewLine);
                        break;
                    }
                }

                else
                { Console.WriteLine("Hatalı giriş yapıldı. Tekrar deneyin."); }
            }

            while (true)
            {
                Console.Write("Ögrenciyi silmek istediginize emin misiniz (E/H): ");
                string secim = Console.ReadLine().ToUpper();

                if (secim == "E")
                {
                    Okul34.OgrenciSilme(ogrNo);
                    Console.WriteLine("Öğrenci başarılı bir şekilde silindi." + Environment.NewLine);
                    Console.WriteLine(cikisMesaj + Environment.NewLine);
                    break;
                }

                else if (secim == "H")
                {
                    Console.WriteLine(cikisMesaj + Environment.NewLine);
                    break;
                }

                else
                {
                    Console.WriteLine("Hatalı işlem. Tekrar girin.");
                    continue;
                }
            }
        }

        void OgrenciAdresiEkle()
        {
            Console.WriteLine();
            Console.WriteLine("18-Ögrencinin Adresini Gir ------------------------------------------");

            Ogrenci ogr;
            int ogrNo;

            while (true)
            {
                Console.Write("Öğrencinin numarası: ");

                if (int.TryParse(Console.ReadLine(), out ogrNo))
                {
                    if (Okul34.OgrenciMi(ogrNo) == null)
                    {
                        Console.WriteLine("Bu numarada bir öğrenci yok. Tekrar deneyin.");
                    }

                    else
                    {
                        ogr = Okul34.OgrenciMi(ogrNo);

                        Console.WriteLine();
                        Console.WriteLine("Ögrencinin Adı Soyadı: " + ogr.Ad.Substring(0, 1).ToUpper() + ogr.Ad.Substring(1).ToLower() + " " + ogr.Soyad.Substring(0, 1).ToUpper() + ogr.Soyad.Substring(1).ToLower());
                        Console.WriteLine("Ögrencinin Subesi: " + ogr.Subesi + Environment.NewLine);
                        break;
                    }
                }
                else
                { Console.WriteLine("Hatalı giriş yapıldı. Tekrar deneyin."); }
            }

            while (true)
            {
                Console.Write("Il: ");
                string il = Console.ReadLine();

                if (AracGerecler.VeriVarMi(il) == false) continue;

                if (AracGerecler.HarfMi(il) == false) continue;

                ogr.Adresi.Il = il.Substring(0, 1).ToUpper() + il.Substring(1).ToLower();
                break;

            }

            while (true)
            {
                Console.Write("Ilce: ");
                string ilce = Console.ReadLine();

                if (AracGerecler.VeriVarMi(ilce) == false) continue;

                if (AracGerecler.HarfMi(ilce) == false) continue;


                ogr.Adresi.Ilce = ilce.Substring(0, 1).ToUpper() + ilce.Substring(1).ToLower();
                break;
            }


            while (true)
            {
                Console.Write("Mahalle: ");
                string mahalle = Console.ReadLine();

                if (AracGerecler.VeriVarMi(mahalle) == false) continue;

                if (AracGerecler.HarfMi(mahalle) == false) continue;

                ogr.Adresi.Mahalle = mahalle.Substring(0, 1).ToUpper() + mahalle.Substring(1).ToLower();

                Console.WriteLine();
                Console.WriteLine("Bilgiler sisteme girilmiştir." + Environment.NewLine);
                Console.WriteLine(cikisMesaj);
                break;
            }


        }

        //void OgrenciListele()
        //{
        //    Okul34.Ogrenciler.ForEach(x => Console.WriteLine($" {x.Subesi} {x.No.ToString()} {x.Ad} {x.Soyad} {x.NotOrtalamasi} {x.KitapSayisi.ToString()}"));
        //}
        //void SubeyeGoreListele()
        //{
        //    while (true)
        //    {
        //        Console.WriteLine("Listelemek istediğiniz şubeyi girin (A/B/C): ");
        //        try
        //        {

        //            SUBE sube = (SUBE)Enum.Parse(typeof(SUBE), Console.ReadLine().ToUpper());
        //            if (sube == SUBE.A || sube == SUBE.B || sube == SUBE.C)
        //            {

        //                List<Ogrenci> SubeyeGoreListele = Okul34.Ogrenciler.Where(x => x.Subesi == (SUBE)sube).OrderByDescending(x => x.Subesi).ToList();
        //                SubeyeGoreListele.ForEach(x => Console.WriteLine($" {x.Subesi} {x.No.ToString()} {x.Ad} {x.Soyad} {x.NotOrtalamasi} {x.KitapSayisi.ToString()}"));
        //            }
        //            else if (sube >= SUBE.C)
        //            { Console.WriteLine("Daha küçük sayı gir"); }
        //        }
        //        catch (ArgumentException e)
        //        {

        //            Console.WriteLine("Hatali giris yapildi. Tekrar deneyin.");
        //        }


        //    }

        //}

        //void CinsiyeteGoreListele()
        //{
        //    while (true)
        //    {
        //        Console.WriteLine("Erkek Kadın (E/K): ");
        //        try
        //        {

        //            //CINSIYET cinsiyet = (CINSIYET)Enum.Parse(typeof(CINSIYET), Console.ReadLine().ToUpper());
        //            string cinsiyet = Console.ReadLine().ToUpper();
        //            string a = Enum.GetName(typeof(CINSIYET), 1);
        //            string b = Enum.GetName(typeof(CINSIYET), 2);
        //            if (cinsiyet == "K")
        //            {


        //                List<Ogrenci> CinsiyeteGoreListele = Okul34.Ogrenciler.Where(x => x.Cinsiyet == (CINSIYET.Kız)).OrderByDescending(x => x.Cinsiyet).ToList();
        //                CinsiyeteGoreListele.ForEach(x => Console.WriteLine($" {x.Subesi} {x.No.ToString()} {x.Ad} {x.Soyad} {x.NotOrtalamasi} {x.KitapSayisi.ToString()}"));

        //            }
        //            else if (cinsiyet == "E")
        //            {


        //                List<Ogrenci> CinsiyeteGoreListele = Okul34.Ogrenciler.Where(x => x.Cinsiyet == (CINSIYET.Erkek)).OrderByDescending(x => x.Cinsiyet).ToList();
        //                CinsiyeteGoreListele.ForEach(x => Console.WriteLine($" {x.Subesi} {x.No.ToString()} {x.Ad} {x.Soyad} {x.NotOrtalamasi} {x.KitapSayisi.ToString()}"));

        //            }

        //        }
        //        catch (ArgumentException e)
        //        {

        //            Console.WriteLine("Hatali giris yapildi. Tekrar deneyin.");
        //        }


        //    }
        //}
        //void XTarihtenSonraDogan()
        //{
        //    string pattern = "yyyy M dd";
        //    string pattern2 = "yyyy M dd";

        //    Console.Write("Dogum Tarihine Göre Ögrencileri Listele ------------------------------------\nHangi tarihten sonraki ögrencileri listelemek istersiniz: ");
        //    DateTime dogumTarihi = DateTime.Parse(Console.ReadLine());
        //    List<Ogrenci> DogumTariheGoreListele = Okul34.Ogrenciler.Where(x => x.DogumTarihi >= dogumTarihi).OrderByDescending(x => x.DogumTarihi).ToList();
        //    DogumTariheGoreListele.ForEach(x => Console.WriteLine($" {x.Subesi} {x.No.ToString()} {x.Ad} {x.Soyad} {x.NotOrtalamasi} {x.KitapSayisi.ToString()}"));
        //}
        //public void OgrenciEkle()
        //{
        //    int ogr_no; string ogrAd; string ogrSoyad; SUBE sube; CINSIYET cinsiyet; DateTime dogumTarihi;
        //    Console.WriteLine("15-Öğrenci Ekle -----------------------------------------------------");

        //    bool kontrol3 = true;
        //    cinsiyet = CINSIYET.Empty;
        //    sube = SUBE.Empty;
        //    string ogrCinsiyet;
        //    string ogrSube;

        //    while (kontrol3 == true)
        //    {
        //        Console.Write("Ögrencinin numarası: ");


        //        if (int.TryParse(Console.ReadLine(), out ogr_no))
        //        {

        //            continue;
        //        }
        //        Console.Write("Ögrencinin adı: ");
        //        ogrAd = Console.ReadLine();
        //        Console.Write("Ögrencinin soyadı: ");
        //        ogrSoyad = Console.ReadLine();
        //        Console.WriteLine("Ögrencinin dogum tarihi: ");
        //        dogumTarihi = DateTime.Parse(Console.ReadLine());
        //        Console.WriteLine("Ögrencinin cinsiyeti:e/k: ");
        //        ogrCinsiyet = Console.ReadLine().ToUpper();

        //        bool kontrol = true;
        //        while (kontrol == true)
        //        {
        //            if (ogrCinsiyet == "E")
        //            {
        //                cinsiyet = CINSIYET.Erkek;
        //                kontrol = false;

        //            }
        //            else if (ogrCinsiyet == "K")
        //            {
        //                cinsiyet = CINSIYET.Kız;
        //                kontrol = false;
        //            }
        //            else
        //            {
        //                Console.WriteLine("Hatalı giriş yaptınız. ");

        //                Console.WriteLine("Ögrencinin cinsiyeti:e/k: ");
        //                kontrol = true;

        //            }
        //            kontrol = false;

        //        }
        //        Console.WriteLine("Ögrencinin subesi (A/B/C): ");
        //        ogrSube = Console.ReadLine().ToUpper();

        //        bool kontrol1 = true;
        //        while (kontrol1 == true)
        //        {
        //            if (ogrSube == "A")
        //            {
        //                sube = SUBE.A;
        //                kontrol1 = false;
        //            }
        //            else if (ogrSube == "B")
        //            {
        //                sube = SUBE.B;
        //                kontrol1 = false;

        //            }
        //            else if (ogrSube == "C")
        //            {
        //                sube = SUBE.C;
        //                kontrol1 = false;
        //            }
        //            else
        //            {
        //                Console.WriteLine("Hatalı giriş yaptınız.");
        //                Console.WriteLine("Ögrencinin subesi (A/B/C): ");
        //                kontrol1 = true;
        //            }
        //            kontrol1 = false;
        //        }

        //        Okul34.OgrenciEkle(ogr_no, ogrAd, ogrSoyad, sube, cinsiyet, dogumTarihi);
        //        Console.WriteLine("Öğrenci başarılı bir şekilde eklendi.");
        //        kontrol3 = false;
        //    }

        //}

    }
}

       

    

       

        ////static void OgrenciListele()
        //{

        //}

        //public void NotEkle()
        //{
        //    Console.Write("Ögrencinin numarasi: ");
        //    int no = int.Parse(Console.ReadLine());
        //    //no bilgi ile öğrenci tespit ediilecek..
        //    Console.Write("Ögrencinin Adı Soyadı: ");
        //    Console.Write("Ögrencinin Subesi: ");
        //    Console.WriteLine();
        //    DersAdi ders=DersAdi.Empty;
        //    Console.Write("Not eklemek istediğiniz ders: ");
        //    //string ders = Console.ReadLine();

        //    Console.Write("Eklemek istediginiz not adedi: ");
        //    int adet = int.Parse(Console.ReadLine());
        //    float not;
        //    for (int i = 0; i < adet; i++)
        //    {
        //        Console.WriteLine(i + 1 + ". Notu girin: ");
        //        not = float.Parse(Console.ReadLine());
        //        G034Okul.NotEkle(no, ders, not);
        //    }
        //}
    
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OkulYonetimUygulamasi_G034
{
    class AracGerecler
    {
        static public bool HarfMi(string veri)
        {
            char[] karakterler;
            karakterler = veri.ToCharArray();

                if (karakterler.All(Char.IsLetter))
                {
                    return true;
                }

            Console.WriteLine("Hatalı işlem. Tekrar girin.");
            return  false;
        }

        static public bool VeriVarMi(string veri)
        {
            if (veri.Length == 0)
            {
                Console.WriteLine("Veri girişi yapılmadı. Tekrar deneyin.");
                return false;
            }
            return true;

        }

        static public bool SubeMi(string veri)
        {
            if (veri == "A" || veri == "B" || veri == "C")
            {
                return true;
            }

            Console.WriteLine("Hatalı giriş yapıldı. Tekrar deneyin.");
            return false;
        }
    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OkulYonetimUygulamasi_G034
{
    internal class Okul
    {
        public List<Ogrenci> Ogrenciler = new List<Ogrenci>();
        //NotEkle
        //OgrenciEkleme
        //AdresGuncelle
        //OgrenciGuncelle
        //OgrenciListele
        public void OgrenciEkle(int no, string ad, string soyad, SUBE sube, CINSIYET cins, DateTime dogumTarihi)
        {
            this.Ogrenciler.Add(new Ogrenci(no,ad,soyad,sube,cins,dogumTarihi));
        }
        public void NotEkle(int no, DersAdi ders, float not)
        {
            Ogrenci o = this.Ogrenciler.Where(d=>d.No==no).FirstOrDefault();
            DersNotu dn = new DersNotu(ders, not);
            o.Notlar.Add(dn);
        }

        public Ogrenci OgrenciMi(int ogrNo)
        {
            Ogrenci a = this.Ogrenciler.Where(x => x.No == ogrNo).FirstOrDefault();
            if (a != null)
            {
                return a;
            }

            return null;
        }

        public void OgrenciSilme(int ogrNo)
        {
            Ogrenci ogr = this.Ogrenciler.Where(x => x.No == ogrNo).FirstOrDefault();
            this.Ogrenciler.Remove(ogr);

        }

        

    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OkulYonetimUygulamasi_G034
{
    internal class Ogrenci
    {
        public int No { get; set; }
        public string Ad { get; set; }
        public string Soyad { get; set; }
        public SUBE Subesi { get; set; }
        public CINSIYET Cinsiyet { get; set; }
        public DateTime DogumTarihi { get; set; }
        
        public Adres Adresi = new Adres();
        public float NotOrtalamasi { get; set; }


        public List<string> Kitaplar { get; set; } = new List<string>(); 

        public List<DersNotu> Notlar = new List<DersNotu>();
        public Ogrenci(int no, string ad, string soyad, SUBE sb, CINSIYET cins, DateTime dTarihi)
        {
            this.No = no;
            this.Ad = ad;
            this.Subesi = sb;
            this.Soyad = soyad;
            this.Cinsiyet = cins;
            this.DogumTarihi = dTarihi;
            
            
        }
    }
    public enum SUBE
    {
        Empty, A, B, C
    }
    public enum CINSIYET
    {
        Empty, Kız, Erkek
    }
}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OkulYonetimUygulamasi_G034
{
    internal class DersNotu
    {
        public DersAdi DersAdi { get; set; }
        public float Not { get; set; }
        public DersNotu(DersAdi dersAdi, float not)
        {
            this.DersAdi = dersAdi;
            this.Not = not;
        }
    }
    public enum DersAdi
    {
        Empty, Matematik, Türkçe, Fen, Sosyal
    }
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OkulYonetimUygulamasi_G034
{
    internal class Adres
    {
        public string Il;
        public string Ilce;
        public string Mahalle;
    }

}