5 Mayıs 2013 Pazar

C Sharp Uygulamalar Direnç Değeri Hesaplama Programı - Console Resistor Value Calculator



KONU : C Sharp Uygulamalar - C Sharp ( C# ) konsolda girilen direnç renklerine göre direcin değerini hesaplayan program. Bu program ile 4 ve 5 renk kodlaması olan dirençlerin değeri hesapnabilir. 4 renkli olanları hesaplamak için 3. renk değerini renksiz olarak giriniz.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Konsol_Direnc_Deger_Hesaplama
{
    class Direnc_Deger_Hesaplama
    {

       

        static void Main(string[] args)
        {
       
            // konsolda okunan değeri saklamak için string tipinde bir değiken tanımlayalım
            
            string deger;

            do
            {
                //işlemimizi kullanıcı çıkmak isteyene kadar devam ettirelim
                //bunu için do while kullanıyorum

                //konsol ekranının biçimlendirelim, yazı rangini ayarlayalım


                Console.ForegroundColor = ConsoleColor.Red;

                Console.WriteLine("---------------------------");

                Console.WriteLine("Çıkmak için çıkış yazınız");

                Console.ForegroundColor = ConsoleColor.Blue;

                Console.WriteLine("Direnç değerini öğrenmek istediğiniz direncin renklerini sıra ile alt alta giriniz \n<=");
              
                Console.WriteLine("Kat sayı 1, Kat sayı 2, Kat sayı 3, Çarpan, Tolerans  \n<=");
                
                Console.ForegroundColor = ConsoleColor.DarkGray;

                int girilecekRenkSayisi = 5; //5 renk için 

                //girilen rankleri liste şeklinde tutmak için rankler değişkenini tanımlıyorum
             
                
                List< string > renkler = new List< string >();

                //konsol ekranına girilen rankleri teker teker okuyup renkler değişkenine atıyorum

                Direnc direnc = new Direnc();

                //Konsol ekranından kullanıcı 5 renk girmesini bekliyeceğiz

                //Gireceği ill üç renk katsayıları belirleyecek 4. değer çarpan olacak

                // 5 renk ile de tolerans değerini girmesini bekliyeceğiz

                for (int i = 0; i < girilecekRenkSayisi; i++)
                {
                    switch (i)
                    {
                        case 0:
                            direnc.KatSayi1 = Direnc.getKatsayi(Console.ReadLine());
                            break;
                        case 1:
                            direnc.KatSayi2 = Direnc.getKatsayi(Console.ReadLine());
                            break;
                        case 2:
                            direnc.KatSayi3 = Direnc.getKatsayi(Console.ReadLine());
                            break;
                        case 3:
                            direnc.Carpan = Direnc.getCarpan(Console.ReadLine());
                            break;
                        case 4:
                            direnc.Tolerans = Direnc.getTolerans(Console.ReadLine());
                            break;
                        default:
                            break;
                    }
                }

                //konsol ekranında yazı rengini beyaz yapıyorum

                Console.ForegroundColor = ConsoleColor.White;

                Console.WriteLine("\n\nDirenç Değeri  = " +  direnc + "\n\n");


                //Bundan sonra kullanıcıya hangi işlemi yapmak istediğini soruyorum 

                Console.WriteLine("Çıkmak için ->1, devam için ->0 ...\n=");

                deger = Console.ReadLine();


            } while (deger == "0"); Console.Clear();

            //kullanıcı programdan çıktığında konsol ekranına bunları yazdırıyorum


            Console.WriteLine("PROGRAMDAN ÇIKTINIZ....!!!");

            Console.WriteLine("");

            Console.WriteLine("");

            Console.ReadKey();
        }

    }

    public class Direnc
    {
        public enum enumKatSayı:int
        {
            Siyah=0, Kahverengi, Kırmızı, Turuncu, Sarı, Yeşil, Mavi, Mor, Gri, Beyaz, Altın=0, Gümüş=0, Renksiz=0
        }

        public enum enumCarpan:int
        {
            Siyah = 0, Kahverengi, Kırmızı, Turuncu, Sarı, Yeşil, Mavi, Mor, Gri = 0, Beyaz = 0, Altın = 0, Gümüş = 0, Renksiz = 0
        }

        public int KatSayi1 
        {
            get; 
            set;
        }

        public int KatSayi2
        {
            get;
            set;
        }

        public int KatSayi3
        {
            get;
            set;
        }

        public double Carpan
        {
            get;
            set;
        }

        public string Tolerans
        {
            get;
            set;
        }

        public int Deger
        {
            get
            {
                try
                {
                    return Convert.ToInt32((KatSayi1 * 100 + KatSayi2*10 + KatSayi3) * Math.Pow(10.0, Carpan));
                }
                catch (Exception)
                {
                    return -1;
                }
               
            }
        }

        public override string ToString()
        {
            return Deger.ToString() + " Ohm   " + Tolerans ;
        }

        public static int  getKatsayi(string renk)
        {
            enumKatSayı value = 0;

            switch (renk.ToLower())
            {
                case "siyah":
                    value = enumKatSayı.Siyah;
                    break;
                case "kahverengi":
                     value = enumKatSayı.Kahverengi;
                    break;
                case "kırmızı":
                     value = enumKatSayı.Kırmızı;
                    break;
                case "turuncu":
                     value = enumKatSayı.Turuncu;
                    break;
                case "sarı":
                     value = enumKatSayı.Sarı;
                    break;
                case "yeşil":
                     value = enumKatSayı.Yeşil;
                    break;
                case "mavi":
                     value = enumKatSayı.Mavi;
                    break;
                case "mor":
                     value = enumKatSayı.Mor;
                    break;
                case "gri":
                     value = enumKatSayı.Gri;
                    break;
                case "beyaz":
                     value = enumKatSayı.Beyaz;
                    break;
                default:
                    value = 0;
                    break;
            }

            return Convert.ToInt32(value);
        }

        public static double getCarpan(string renk)
        {
            enumCarpan value = 0;

            switch (renk)
            {
                case "siyah":
                    value = enumCarpan.Siyah;
                    break;
                case "kahverengi":
                    value = enumCarpan.Kahverengi;
                    break;
                case "kırmızı":
                    value = enumCarpan.Kırmızı;
                    break;
                case "turuncu":
                    value = enumCarpan.Turuncu;
                    break;
                case "sarı":
                    value = enumCarpan.Sarı;
                    break;
                case "yeşil":
                    value = enumCarpan.Yeşil;
                    break;
                case "mavi":
                    value = enumCarpan.Mavi;
                    break;
                case "mor":
                    value = enumCarpan.Mor;
                    break;
                default:
                    value = 0;
                    break;
            }

            return Convert.ToDouble(value);
        }

        public static string getTolerans(string renk)
        {
            string value = "";

            switch (renk)
            {
                case "kahverengi":
                    value = "± %1";
                    break;
                case "kırmızı":
                    value = "± %2";
                    break;
                case "yeşil":
                    value = "± %0.5";
                    break;
                case "mavi":
                    value = "± %0.25";
                    break;
                case "mor":
                    value = "± %0.10";
                    break;
                case "gri":
                    value = "± %0.05";
                    break;
                case "altın":
                    value = "± %5";
                    break;
                case "gümüş":
                    value = "± %10";
                    break;
                case "renksiz":
                    value = "± %20";
                    break;
                default:
                    value = "";
                    break;
            }

            return value;
        }
    }
}


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder