C# ile Stok Takip ve Ürün Yönetim Sistemi Geliştirme
C# programlama dili ile geliştirilebilecek en faydalı ve gerçek hayatta kullanılabilir projelerden biri stok takip ve ürün yönetim sistemidir. Özellikle küçük işletmeler, marketler, e-ticaret mağazaları ve depo yönetimi yapan firmalar ürün takibini düzenli şekilde yapmak zorundadır. Bu nedenle yazılım geliştirmeye yeni başlayan kişiler için stok yönetim uygulaması geliştirmek hem öğretici hem de portfolyo açısından oldukça değerli bir projedir. Bu projede C# kullanarak konsol tabanlı bir stok takip sistemi geliştireceğiz. Kullanıcılar sisteme yeni ürün ekleyebilecek, mevcut ürünleri listeleyebilecek, stok miktarlarını güncelleyebilecek ve toplam ürün durumunu takip edebilecektir. Gerçek dünya problemlerine çözüm sunan bu tarz uygulamalar GitHub projelerinde ve iş başvurularında profesyonel görünür.
Bu C# stok takip uygulaması geliştirilirken yazılım dünyasında sık kullanılan temel programlama yapıları aktif şekilde kullanılmaktadır. Proje içerisinde sınıflar (class), listeler, döngüler, if-else koşulları, kullanıcıdan veri alma işlemleri ve metot yapıları kullanılmaktadır. Ayrıca uygulama içerisinde ürün bilgileri liste yapısı kullanılarak saklanmaktadır. Bu yaklaşım nesne yönelimli programlama (OOP) mantığını öğrenmek açısından oldukça önemlidir. Kullanıcı ürün ekleme, ürün güncelleme ve stok kontrolü gibi işlemler yaparken gerçek bir işletme otomasyonunun temel mantığını deneyimlemiş olur. Özellikle C# öğrenen geliştiriciler için bu tarz projeler masaüstü yazılım geliştirme mantığını güçlendirir ve ileri seviyede ASP.NET veya veritabanı projelerine geçiş sürecini kolaylaştırır. Aynı zamanda proje geliştirilmeye açık olduğu için ilerleyen aşamalarda SQL veritabanı bağlantısı, grafik arayüz veya barkod sistemi gibi gelişmiş özellikler kolayca eklenebilir.
using System;
using System.Collections.Generic;
class Urun
{
public string Ad { get; set; }
public int Stok { get; set; }
public double Fiyat { get; set; }
}
class Program
{
static List urunler = new List();
static void UrunEkle()
{
Console.Write("Ürün adı: ");
string ad = Console.ReadLine();
Console.Write("Stok miktarı: ");
int stok = int.Parse(Console.ReadLine());
Console.Write("Ürün fiyatı: ");
double fiyat = double.Parse(Console.ReadLine());
urunler.Add(new Urun
{
Ad = ad,
Stok = stok,
Fiyat = fiyat
});
Console.WriteLine("Ürün başarıyla eklendi.");
}
static void UrunleriListele()
{
if (urunler.Count == 0)
{
Console.WriteLine("Kayıtlı ürün bulunmuyor.");
return;
}
Console.WriteLine("\n--- ÜRÜN LİSTESİ ---");
for (int i = 0; i < urunler.Count; i++)
{
Console.WriteLine($"{i + 1}. {urunler[i].Ad} - Stok: {urunler[i].Stok} - Fiyat: {urunler[i].Fiyat} TL");
}
}
static void StokGuncelle()
{
UrunleriListele();
Console.Write("Güncellenecek ürün numarası: ");
int secim = int.Parse(Console.ReadLine());
if (secim > 0 && secim <= urunler.Count)
{
Console.Write("Yeni stok miktarı: ");
int yeniStok = int.Parse(Console.ReadLine());
urunler[secim - 1].Stok = yeniStok;
Console.WriteLine("Stok başarıyla güncellendi.");
}
else
{
Console.WriteLine("Geçersiz seçim.");
}
}
static void Main(string[] args)
{
while (true)
{
Console.WriteLine("\n--- STOK TAKİP SİSTEMİ ---");
Console.WriteLine("1. Ürün Ekle");
Console.WriteLine("2. Ürünleri Listele");
Console.WriteLine("3. Stok Güncelle");
Console.WriteLine("4. Çıkış");
Console.Write("Seçiminiz: ");
string secim = Console.ReadLine();
if (secim == "1")
{
UrunEkle();
}
else if (secim == "2")
{
UrunleriListele();
}
else if (secim == "3")
{
StokGuncelle();
}
else if (secim == "4")
{
Console.WriteLine("Program kapatılıyor...");
break;
}
else
{
Console.WriteLine("Geçersiz seçim yaptınız.");
}
}
}
}
Kodun Detaylı Satır Analizi
Kodun kalbi, dosya yönetimini ve kullanıcı etkileşimini sağlayan yapılardır. İşte detaylı inceleme:
class Urun: Ürün bilgilerini saklamak için oluşturulan nesne yönelimli programlama sınıfıdır.static List<Urun> urunler = new List<Urun>();: Sisteme eklenen tüm ürünleri bellekte tutan liste yapısıdır.urunler.Add(new Urun { ... }): Kullanıcının eklediği yeni ürünü listeye kaydeder.if (secim > 0 && secim <= urunler.Count): Kullanıcının geçerli bir ürün seçip seçmediğini kontrol eder.
Bu Proje Sizi Nasıl Geliştirir?
Bu proje sayesinde C# programlama dilinin en önemli temel yapılarını gerçek bir uygulama üzerinde kullanmayı öğrenebilirsiniz. Özellikle nesne yönelimli programlama (OOP), liste yönetimi, kullanıcı etkileşimi, veri işleme ve algoritma mantığı konularında önemli deneyim kazanırsınız. Ayrıca işletme otomasyonu mantığını öğrenerek gerçek dünyada kullanılan yazılım sistemlerinin temel yapısını anlayabilirsiniz. Bu tarz stok takip projeleri GitHub portfolyosunda oldukça profesyonel görünür ve yazılım iş başvurularında dikkat çekebilir. Projeyi daha ileri seviyeye taşımak için SQL Server veritabanı entegrasyonu, Windows Forms arayüzü, barkod sistemi, kullanıcı giriş ekranı veya raporlama özellikleri ekleyebilirsiniz. Ayrıca ASP.NET kullanarak web tabanlı bir stok yönetim paneli geliştirmek de mümkündür. Bu geliştirmeler sayesinde hem C# bilginizi ileri seviyeye taşıyabilir hem de profesyonel yazılım geliştirme sürecine güçlü bir giriş yapabilirsiniz.