کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

خروجی متد یا پارامتر ارسالی از نوع کلاس (class as parameter type)

همانطور که در مقاله قبلی گفتیم، در سی شارپ یک کلاس در واقع یک گونه داده ای است. بنابراین تمامی ویژگی های رفتاری با گونه های داده ای در برنامه نویسی سی شارپ قابل اعمال روی کلاس های تعریف شده نیز هست. در این بخش از آموزش سی شارپ به بخش دیگری از این ویژگی ها خواهیم پرداخت.

  1. برای بازگرداندن کلاس یا ارسال آن به عنوان آرگومان، فایل OrderProcessing.cs را به صورت زیر اصلاح کنید.
                
using System;

namespace ElectronicStore1
{
    public class SaleItem
    {
        public double DiscountAmount { get; set; }
        public double NetPrice { get; set; }
        public int Quantity { get; set; }
        public double SaleTotal { get; set; }
        public int ItemNumber { get; set; }
        public string SetMake { get; set; }
        public char Category { get; set; }
        public string Model { get; set; }
        public double UnitPrice { get; set; }

        public double GetDiscountRate()
        {
            Console.Write("Discount Applied (Enter 0 to 100, 0 if no discount): ");
            double discount = double.Parse(Console.ReadLine());
            return discount;
        }

        public int GetQuantity()
        {
            Console.Write("Enter Quantity: ");
            int q = int.Parse(Console.ReadLine());
            return q;
        }

        public SaleItem Create()
        {
            int itemNumber;
            char category;
            string make;
            string model;
            //double discount;
            double price;
            SaleItem saleItem = new SaleItem();

            Console.Write("Enter the Item #: ");
            itemNumber = int.Parse(Console.ReadLine());

            Console.WriteLine("Category");
            Console.WriteLine("A - Audio Cables");
            Console.WriteLine("B - Instructional and Tutorials (Books)");
            Console.WriteLine("C - Cell Phones and Accessories");
            Console.WriteLine("D - Bags and Cases");
            Console.WriteLine("E - Headphones");
            Console.WriteLine("F - Instructional and Tutorials (VHS & DVD)");
            Console.WriteLine("G - Digital Cameras");
            Console.WriteLine("H - Cables and Connectors");
            Console.WriteLine("I - PDAs and Accessories");
            Console.WriteLine("J - Telephones and Accessories");
            Console.WriteLine("K - Surge Protector");
            Console.WriteLine("L - TVs and Videos");
            Console.WriteLine("U - Unknown");

            Console.Write("Your Choice? ");
            category = char.Parse(Console.ReadLine());

            Console.Write("Make:        ");
            make = Console.ReadLine();

            Console.Write("Model:       ");
            model = Console.ReadLine();

            Console.Write("Unit Price:  ");
            price = double.Parse(Console.ReadLine());

            saleItem.ItemNumber = itemNumber;
            saleItem.Category = category;
            saleItem.SetMake = make;
            saleItem.Model = model;
            saleItem.UnitPrice = price;

            return saleItem;
        }

        public void ShowSaleItem(SaleItem item)
        {
            double discountRate = GetDiscountRate();
            int quantity = GetQuantity();
            DiscountAmount = item.UnitPrice * discountRate / 100;
            NetPrice = item.UnitPrice - DiscountAmount;
            SaleTotal = NetPrice * quantity;

            Console.WriteLine("\nStore Item Description");
            Console.WriteLine("Item Number:     {0}", item.ItemNumber);
            Console.WriteLine("Category:        {0}", item.Category);
            Console.WriteLine("Make             {0}", item.SetMake);
            Console.WriteLine("Model:           {0}", item.Model);
            Console.WriteLine("Unit Price:      {0:C}", item.UnitPrice);
            Console.WriteLine("Discount Rate:   {0:P}", discountRate / 100);
            Console.WriteLine("Discount Amount: {0:C}", DiscountAmount);
            Console.WriteLine("Price/Item:      {0:C}", NetPrice);
            Console.WriteLine("Quantity:        {0}", quantity);
            Console.WriteLine("Sale Total:      {0:C}", SaleTotal);
        }
    }

    public class OrderProcessing
    {
        public static int Main()
        {
            SaleItem item = new SaleItem();
            SaleItem sale = new SaleItem();

            string strTitle1 = "=-= Nearson Electonics =-=\n";
            string strTitle2 = "******* Store Items ******";

            Console.Title = "Electronic Super Store";
            Console.WriteLine(strTitle1);
            Console.WriteLine(strTitle2);
            Console.Clear();

            item = sale.Create();
            sale.ShowSaleItem(item);

            System.Console.ReadKey();
            return 0;
        }
    }
}
  1. برنامه را اجرا کنید
‎=-= Nearson Electonics =-=‎
‎******* Store Items ******‎
Enter the Item #: 927374‎
Category
A - Audio Cables
B - Instructional and Tutorials (Books)‎
C - Cell Phones and Accessories
D - Bags and Cases
E - Headphones
F - Instructional and Tutorials (VHS & DVD)‎
G - Digital Cameras
H - Cables and Connectors
I - PDAs and Accessories
J - Telephones and Accessories
K - Surge Protector
L - TVs and Videos
U - Unknown
Your Choice? L
Make:        NEC
Model:       VT48 Video Projector
Unit Price:  705.95‎
Discount Applied (Enter 0 to 100، 0 if no discount): 15‎
Enter Quantity: 1‎
  1. کلید enter را بزنید
Store Item Description
Item Number:     927374‎
Category:        L
Make             NEC
Model:           VT48 Video Projector
Unit Price:      $705.95‎
Discount Rate:   15.00 %‎
Discount Amount: $105.89‎
Price/Item:      $600.06‎
Quantity:        1‎
Sale Total:      $600.06
1394/07/27 5419 3240
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...