Untitled
unknown
csharp
3 years ago
28 kB
4
Indexable
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; } } 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; } } } 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; } }
Editor is loading...