Untitled

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

        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.");
        }

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

                else if (secim == "H")
                {
                    Console.WriteLine("Menüyü tekrar listelemek için ''liste'', çıkış yapmak için ''çıkış'' yazın." + 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("Menüyü tekrar listelemek için ''liste'', çıkış yapmak için ''çıkış'' yazın.");
                break;
            }
               
               
            }

        }

    }

       

    

       

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

        }
    }
}


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

}