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