SINAV NOTLARI LİSTELEME ÖRNEĞİ
// Öğrenci tablomuz ve öğrencilere ait notların olduğu bir tablomuz bulunmakta
// Program çalıştırıldığında Öğrencilerin numaralarını ve yanlarına adsoyadları listeleyiniz.
// ve program hangi öğrencinin notlarını görmek istediğimizi sorsun, okul no istesin
// okul numarası girilen öğrencinin notlarını listeleyen programı yazınız.
import 'dart:io';
import 'NotlarList.dart';
import 'OgrenciList.dart';
void main(List<String> args) {
// öğrenci listesi sınıf ile üretiliyor
List<Ogrenci> ogrList = [];
for (var item in ogrenciler) {
ogrList.add(Ogrenci.mapToOgrenci(item));
}
// not listesi üretiliyor
List<Puan> puanList = [];
for (var item in notlar) {
puanList.add(Puan.mapToPuan(item));
}
// öğrenciler ekranda listeleniyor.
for (var item in ogrList) {
print("${item.OkulNo} - ${item.AdSoyad}");
}
// hangi öğrencinin notlarının listeleneceğini kullanıcıya soruyoruz
print("Notları görmek istediğiniz öğrencinin Okul Nosunu giriniz: ");
int okulNo = int.parse(stdin.readLineSync()!);
// girilen okul numarasına göre öğrenci aranıyor
var ogr = ogrList.where((x) => x.OkulNo == okulNo).firstOrNull;
if (ogr == null) {
// öğrenci bulanamadı ise bilgilendiriliyor
print("Böyle bir öğrenci bulunamadı");
} else {
// ogr null değil, yani öğrenci bulunmuş, öğrenci idsine göre notları aranıyor.
var ogrNotlari = puanList.where((x) => x.OgrID == ogr.ID);
if (ogrNotlari.length == 0) {
print("Bu öğrenciye ait not bilgisi mevcut değil");
} else {
print("${ogr.AdSoyad} isimli öğrencinin ders notları");
for (var item in ogrNotlari) {
print("${item.DersAdi} - ${item.DersNotu}");
}
}
}
}
class Ogrenci {
int? ID;
int? OkulNo;
String? AdSoyad;
Ogrenci(this.ID, this.OkulNo, this.AdSoyad);
Ogrenci.mapToOgrenci(Map<String, String> map) {
this.ID = int.parse(map["ID"].toString());
this.OkulNo = int.parse(map["OkulNo"].toString());
this.AdSoyad = map["AdSoyad"];
}
}
class Puan {
int? ID;
int? OgrID;
String? DersAdi;
int? DersNotu;
Puan(this.ID, this.DersAdi, this.DersNotu, this.OgrID);
Puan.mapToPuan(Map<String, Object> map) {
this.ID = int.parse(map["ID"].toString());
this.OgrID = int.parse(map["OgrID"].toString());
this.DersNotu = int.parse(map["Notu"].toString());
this.DersAdi = map["DersAdi"].toString();
}
}
var ogrenciler = [
{"ID": "1", "OkulNo": "986", "AdSoyad": "Kavram Esgin"},
{"ID": "2", "OkulNo": "548", "AdSoyad": "Ünan Yabaneri"},
{"ID": "3", "OkulNo": "481", "AdSoyad": "Simre Ceylan arapgirlioğlu"},
{"ID": "4", "OkulNo": "998", "AdSoyad": "Ünzil Koban"},
{"ID": "5", "OkulNo": "527", "AdSoyad": "Yiğithan Dirmen"},
{"ID": "6", "OkulNo": "923", "AdSoyad": "Kalagay Yoncacı"},
{"ID": "7", "OkulNo": "424", "AdSoyad": "Ayke Özer"},
{"ID": "8", "OkulNo": "133", "AdSoyad": "Ürünay Bütün"},
{"ID": "9", "OkulNo": "754", "AdSoyad": "Hürsev Uçar"},
{"ID": "10", "OkulNo": "907", "AdSoyad": "Gülgen Şiray aslan"},
];
var notlar = [
{"ID": "1", "DersAdi": "Matematik", "Notu": 45, "OgrID": 1},
{"ID": "2", "DersAdi": "Türkçe", "Notu": 100, "OgrID": 1},
{"ID": "3", "DersAdi": "Kimya", "Notu": 67, "OgrID": 1},
{"ID": "4", "DersAdi": "Biyoloji", "Notu": 43, "OgrID": 1},
{"ID": "5", "DersAdi": "Coğrafya", "Notu": 98, "OgrID": 1},
{"ID": "6", "DersAdi": "Matematik", "Notu": 13, "OgrID": 2},
{"ID": "7", "DersAdi": "Biyoloji", "Notu": 87, "OgrID": 2},
{"ID": "8", "DersAdi": "Matematik", "Notu": 43, "OgrID": 3},
{"ID": "9", "DersAdi": "Kimya", "Notu": 56, "OgrID": 3},
{"ID": "10", "DersAdi": "Coğrafya", "Notu": 12, "OgrID": 3},
{"ID": "11", "DersAdi": "Türkçe", "Notu": 76, "OgrID": 4},
{"ID": "12", "DersAdi": "Biyoloji", "Notu": 62, "OgrID": 4},
{"ID": "13", "DersAdi": "Coğrafya", "Notu": 78, "OgrID": 2},
{"ID": "14", "DersAdi": "Tarih", "Notu": 99, "OgrID": 1},
];