مقدمه
برنامهنویسی به زبان سیشارپ (C#) یکی از زبانهای قدرتمند برای توسعه نرمافزارهای کاربردی است. در این مقاله، ما به بررسی کد برنامهای میپردازیم که برای مدیریت موجودی کالاها طراحی شده است. این برنامه میتواند به آسانی در سیستمهای مدیریت فروشگاه یا انبار استفاده شود.
ساختار کلی برنامه
این برنامه شامل چندین کلاس اصلی است که وظایف مختلفی را انجام میدهند:
- کلاس کالا (Product): این کلاس ویژگیهای اصلی یک کالا را تعریف میکند، مانند نام، قیمت و تعداد موجود.
- کلاس موجودی (Inventory): این کلاس مسئول مدیریت لیست کالاها و انجام عملیاتهایی مانند افزودن، حذف و بهروزرسانی کالاها است.
- کلاس اصلی (Main): این کلاس محل ورود برنامه است و منطق اصلی اجرای عملیاتها را فراهم میکند.
کد نمونه
در زیر یک نمونه ساده از کد برنامه مدیریت موجودی آورده شده است:
```csharp
using System;
using System.Collections.Generic;
public class Product
{
public string Name { get; set; }
public decimal Price { get; set; }
public int Quantity { get; set; }
public Product(string name, decimal price, int quantity)
{
Name = name;
Price = price;
Quantity = quantity;
}
}
public class Inventory
{
private List<Product> products = new List<Product>();
public void AddProduct(Product product)
{
products.Add(product);
}
public void RemoveProduct(string name)
{
products.RemoveAll(p => p.Name == name);
}
public void DisplayProducts()
{
foreach (var product in products)
{
Console.WriteLine($"Name: {product.Name}, Price: {product.Price}, Quantity: {product.Quantity}");
}
}
}
public class Program
{
public static void Main(string[] args)
{
Inventory inventory = new Inventory();
inventory.AddProduct(new Product("Apple",
- 0m, 100));
- 5m, 150));
Console.WriteLine("Current Inventory:");
inventory.DisplayProducts();
}
}
```
توضیحات کد
در کد بالا، ما با استفاده از کلاس `Product`، کالایی را با نام، قیمت و تعداد موجود تعریف میکنیم. سپس در کلاس `Inventory`، متدی برای افزودن و حذف کالاها و همچنین نمایش موجودی تعریف شده است. در نهایت، در کلاس `Program`، نمونهای از موجودی ایجاد میشود و کالاها به آن اضافه میشوند.
نتیجهگیری
این برنامه ساده، پایهای برای فهم مدیریت موجودی است. با افزودن ویژگیهای بیشتری مثل جستجو، ویرایش و مدیریت دستهبندی کالاها، میتوان این برنامه را به یک سیستم جامعتر تبدیل کرد. برنامهنویسی با سیشارپ به شما این امکان را میدهد که نرمافزارهای کاربردی و مفیدی بسازید.
کد برنامه موجودی با سیشارپ
مقدمه
در این برنامه، قصد داریم یک سیستم ساده برای مدیریت موجودی کالاها بنویسیم. این سیستم قابلیت افزودن، حذف، و نمایش کالاها را دارد. هدف اصلی، نشان دادن نحوه کار با لیستها، عملیات ورودی و خروجی، و ساختارهای کنترل در زبان سیشارپ است.
ساختار کلی برنامه
در ابتدا، باید یک کلاس برای کالا تعریف کنیم. این کلاس ویژگیهایی مانند نام کالا، تعداد موجودی، و قیمت هر واحد را دارد. سپس، یک لیست از این اشیاء ایجاد میکنیم تا کالاهای مختلف را مدیریت کنیم.
کلاس کالا
```csharp
public class Product
{
public string Name { get; set; }
public int Quantity { get; set; }
public decimal Price { get; set; }
public Product(string name, int quantity, decimal price)
{
Name = name;
Quantity = quantity;
Price = price;
}
public override string ToString()
{
return $"نام: {Name}, تعداد: {Quantity}, قیمت هر واحد: {Price}";
}
}
```
مدیریت موجودی
در قسمت main برنامه، لیست کالاها را تعریف میکنیم و با استفاده از حلقههای `while` یا `do-while`، منوی تعاملی برای کاربر فراهم مینماییم. کاربر میتواند گزینههای زیر را انتخاب کند:
- افزودن کالا
- حذف کالا
- نمایش موجودی
- خروج از برنامه
کد نمونه برای منو و عملیاتها
```csharp
using System;
using System.Collections.Generic;
class Program
{
static List<Product> inventory = new List<Product>();
static void Main()
{
bool exit = false;
while (!exit)
{
Console.WriteLine("\nمنوی برنامه:");
Console.WriteLine("
- افزودن کالا");
- حذف کالا");
- نمایش موجودی");
- خروج");
string choice = Console.ReadLine();
switch (choice)
{
case "1":
AddProduct();
break;
case "2":
RemoveProduct();
break;
case "3":
ShowInventory();
break;
case "4":
exit = true;
break;
default:
Console.WriteLine("گزینه نامعتبر است، لطفاً مجدد تلاش کنید.");
break;
}
}
}
static void AddProduct()
{
Console.Write("نام کالا: ");
string name = Console.ReadLine();
Console.Write("تعداد: ");
int quantity;
while (!int.TryParse(Console.ReadLine(), out quantity))
{
Console.Write("لطفاً عدد صحیح وارد کنید: ");
}
Console.Write("قیمت هر واحد: ");
decimal price;
while (!decimal.TryParse(Console.ReadLine(), out price))
{
Console.Write("لطفاً عدد معتبر وارد کنید: ");
}
Product newProduct = new Product(name, quantity, price);
inventory.Add(newProduct);
Console.WriteLine("کالا با موفقیت افزوده شد.");
}
static void RemoveProduct()
{
Console.Write("نام کالا برای حذف: ");
string name = Console.ReadLine();
Product productToRemove = inventory.Find(p => p.Name.Equals(name, StringComparison.OrdinalIgnoreCase));
if (productToRemove != null)
{
inventory.Remove(productToRemove);
Console.WriteLine("کالا حذف شد.");
}
else
{
Console.WriteLine("کالایی با این نام پیدا نشد.");
}
}
static void ShowInventory()
{
if (inventory.Count == 0)
{
Console.WriteLine("موجودی خالی است.");
return;
}
Console.WriteLine("\nلیست کالاهای موجود:");
foreach (var product in inventory)
{
Console.WriteLine(product);
}
}
}
```
توضیحات
در این کد، چند نکته مهم وجود دارد:
- کلاس Product: ویژگیهای کالا را نگهداری میکند و متد `ToString()` برای نمایش اطلاعات مفید است.
- لیست inventory: برای نگهداری کالاها است.
- منو و حلقه اصلی: کاربر را قادر میسازد عملیات مختلف را انجام دهد، و حلقه تا زمانی که کاربر گزینه خروج را انتخاب کند ادامه دارد.
- ورود دادهها: با استفاده از `TryParse` از خطای ورودی جلوگیری میشود.
- حذف کالا: بر اساس نام کالا انجام میشود، و در صورت عدم وجود، پیام مناسب نشان داده میشود.
- نمایش موجودی: همه کالاهای ثبت شده را لیست میکند.
نکات مهم
- این برنامه نمونهای پایه است و میتوان آن را توسعه داد، مثلاً با افزودن قابلیت ویرایش کالا، ذخیرهسازی در فایل، یا مدیریت چند کاربر.
- در برنامههای حرفهایتر، باید اعتبارسنجیهای بیشتری انجام شود، و از ساختارهای دادهای مناسبتر بهره برد.
در نهایت، این کد نمونه، پایهای برای ساخت یک سیستم مدیریت موجودی است که میتوانید با افزودن ویژگیهای بیشتر، آن را به یک نرمافزار کامل تبدیل کنید.