Untitled

mail@pastecode.io avatar
unknown
csharp
2 years ago
14 kB
1
Indexable
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();

        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 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("Menüyü tekrar listelemek için ''liste'', çıkış yapmak için ''çıkış'' yazın." + 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("Menüyü tekrar listelemek için 'liste'', çıkıs yapmak için ''çıkıs'' yazın.");
    }

    ////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
{
    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;
        }

       
    }
}


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 Semt;
    }
}


using System;

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