Bu proje, öğrenci bilgilerini ve notlarını alarak ortalama hesaplayan, geçme/kalma durumunu belirleyen ve tüm öğrencileri listeleyen bir uygulamadır.
Program Özellikleri
- Öğrenci Bilgileri Girişi: Ad, soyad, okul numarası ve sınıf bilgisi
- Not Girişi: 4 farklı not girişi
- Ders Seçimi: ComboBox ile ders seçimi
- Ortalama Hesaplama: 4 notun ortalamasını hesaplama
- Geçme/Kalma Durumu: 50 ve üzeri ortalamalarda “GEÇTİ”, altında “KALDI” sonucu
- Listeleme: Tüm öğrencilerin bilgilerini DataGridView’de gösterme

using System;
using System.Windows.Forms;
namespace OgrenciNotHesaplama
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
// ComboBox'a dersleri ekle
comboBox1.Items.Add("Matematik");
comboBox1.Items.Add("Fizik");
comboBox1.Items.Add("Kimya");
comboBox1.Items.Add("Biyoloji");
comboBox1.Items.Add("Türkçe");
comboBox1.Items.Add("Tarih");
comboBox1.Items.Add("Coğrafya");
comboBox1.SelectedIndex = 0;
// DataGridView sütunlarını ayarla
dataGridView1.Columns.Add("Ad", "Ad");
dataGridView1.Columns.Add("Soyad", "Soyad");
dataGridView1.Columns.Add("Okul No", "Okul No");
dataGridView1.Columns.Add("Sınıf", "Sınıf");
dataGridView1.Columns.Add("Ders", "Ders");
dataGridView1.Columns.Add("Ortalama", "Ortalama");
dataGridView1.Columns.Add("Durum", "Durum");
}
private void eklebtn_Click(object sender, EventArgs e)
{
try
{
// Öğrenci bilgilerini al
string ad = textBox1.Text;
string soyad = textBox2.Text;
string okulno = textBox3.Text;
string sinif = textBox4.Text;
string ders_adi = comboBox1.Text;
// Notları al ve kontrol et
int not1 = Convert.ToInt32(textBox5.Text);
int not2 = Convert.ToInt32(textBox6.Text);
int not3 = Convert.ToInt32(textBox7.Text);
int not4 = Convert.ToInt32(textBox8.Text);
// Notların 0-100 aralığında olduğunu kontrol et
if (not1 < 0 || not1 > 100 || not2 < 0 || not2 > 100 ||
not3 < 0 || not3 > 100 || not4 < 0 || not4 > 100)
{
MessageBox.Show("Notlar 0-100 aralığında olmalıdır!", "Hata",
MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
// Ortalama hesapla
double ortalama = (not1 + not2 + not3 + not4) / 4.0;
// Durum belirle
string durum = ortalama >= 50 ? "GEÇTİ" : "KALDI";
// DataGridView'e ekle
dataGridView1.Rows.Add(ad, soyad, okulno, sinif, ders_adi,
Math.Round(ortalama, 2), durum);
// Formu temizle
Temizle();
}
catch (FormatException)
{
MessageBox.Show("Lütfen geçerli sayısal değerler giriniz!", "Hata",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
catch (Exception ex)
{
MessageBox.Show("Bir hata oluştu: " + ex.Message, "Hata",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
private void Temizle()
{
// Tüm textBox'ları temizle
textBox1.Clear();
textBox2.Clear();
textBox3.Clear();
textBox4.Clear();
textBox5.Clear();
textBox6.Clear();
textBox7.Clear();
textBox8.Clear();
// ComboBox'ı varsayılan değere ayarla
comboBox1.SelectedIndex = 0;
// İlk textBox'a odaklan
textBox1.Focus();
}
}
}
Geliştirme Önerileri
- Veritabanı Entegrasyonu: SQL Server veya SQLite ile verilerin kalıcı olarak saklanması
- Raporlama: Öğrenci not çizelgelerinin yazdırılabilir raporlarının oluşturulması
- Ders Yönetimi: Derslerin veritabanından çekilmesi ve yeni ders eklenebilmesi
- Not Grafikleri: Öğrenci notlarının grafiksel gösterimi
- Kullanıcı Yönetimi: Öğretmen ve öğrenci girişleri için farklı yetkiler
Nasıl Kullanılır?
- Öğrenci bilgilerini ilgili alanlara girin (Ad, Soyad, Okul No, Sınıf)
- Ders adını ComboBox’tan seçin
- 4 farklı notu ilgili alanlara girin
- “Ekle” butonuna basarak öğrenciyi listeye ekleyin
- Tüm öğrenciler DataGridView’de listelenecek, ortalama ve durum bilgileri otomatik hesaplanacaktır
Bu temel yapıyı geliştirerek daha kapsamlı bir öğrenci not takip sistemi oluşturabilirsiniz.