Untitled
unknown
csharp
2 years ago
14 kB
1
Indexable
Never
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(); } } }