C# Windows Form Öğrenci Not Hesaplama Programı

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

  1. Öğrenci Bilgileri Girişi: Ad, soyad, okul numarası ve sınıf bilgisi
  2. Not Girişi: 4 farklı not girişi
  3. Ders Seçimi: ComboBox ile ders seçimi
  4. Ortalama Hesaplama: 4 notun ortalamasını hesaplama
  5. Geçme/Kalma Durumu: 50 ve üzeri ortalamalarda “GEÇTİ”, altında “KALDI” sonucu
  6. 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

  1. Veritabanı Entegrasyonu: SQL Server veya SQLite ile verilerin kalıcı olarak saklanması
  2. Raporlama: Öğrenci not çizelgelerinin yazdırılabilir raporlarının oluşturulması
  3. Ders Yönetimi: Derslerin veritabanından çekilmesi ve yeni ders eklenebilmesi
  4. Not Grafikleri: Öğrenci notlarının grafiksel gösterimi
  5. Kullanıcı Yönetimi: Öğretmen ve öğrenci girişleri için farklı yetkiler

Nasıl Kullanılır?

  1. Öğrenci bilgilerini ilgili alanlara girin (Ad, Soyad, Okul No, Sınıf)
  2. Ders adını ComboBox’tan seçin
  3. 4 farklı notu ilgili alanlara girin
  4. “Ekle” butonuna basarak öğrenciyi listeye ekleyin
  5. 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.

guest
0 Yorum
Eskiler
En Yeniler Beğenilenler
Inline Feedbacks
View all comments