示例#1
0
        public static Jedinice Parse(string str)
        {
            Jedinice jed = new Jedinice();
            string   msg = "Duljina nije dobro unešena";

            try
            {
                if (str.TrimEnd(null).EndsWith("mm"))
                {
                    jed.Milimetri = Double.Parse(str.Remove(str.IndexOf('m')));
                }
                else if (str.TrimEnd(null).EndsWith("in"))
                {
                    jed.Inči = Double.Parse(str.Remove(str.IndexOf('i')));
                }
                else if (str.TrimEnd(null).EndsWith("km"))
                {
                    jed.Kilometri = Double.Parse(str.Remove(str.IndexOf('k')));
                }
                else if (str.TrimEnd(null).EndsWith("m"))
                {
                    jed.Metri = Double.Parse(str.Remove(str.IndexOf('m')));
                }
                else if (str.TrimEnd(null).EndsWith("ft"))
                {
                    jed.Stope = Double.Parse(str.Remove(str.IndexOf('f')));
                }
                else if (str.TrimEnd(null).EndsWith("mi"))
                {
                    jed.Milje = Double.Parse(str.Remove(str.IndexOf('m')));
                }
                else
                {
                    throw new FormatException(msg);
                }
            }
            catch (FormatException e) {
                Console.WriteLine(e.Message);
            }
            return(jed);
        }
示例#2
0
        static int Main(string[] args)
        {
            int           jedinice;
            bool          flag = false;
            Jedinice      jed;
            List <double> myarray = new List <double>();

            //  IFormatProvider provider;
            while (true)
            {
                Console.WriteLine("U kojim mjernim jedinicama želiš izračun:");
                Console.WriteLine("1 za milimetre (mm)\n2 za metre (m)\n3 za kilometre (km)\n4 za inče(in)\n5 za stope (ft)\n6 za milje (mi)\n0 za izlaz");
                jedinice = Console.Read();
                Console.ReadLine();
                if (jedinice == '0' || jedinice == '1' || jedinice == '2' || jedinice == '3' || jedinice == '4' || jedinice == '5' || jedinice == '6')
                {
                    break;
                }
            }
            // provider = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
            if (jedinice == '0')
            {
                return(0);
            }

            while (true)
            {
                Console.WriteLine("Unesi vrijednost(decimalni zarez) i mjernu jedinicu, 0 za izračun");
                string str = Console.ReadLine();
                if (str == "0")
                {
                    break;
                }
                flag = true;
                switch (jedinice)
                {
                case '1':
                    jed = Jedinice.Parse(str);
                    if (jed.Metri == 0)
                    {
                        break;
                    }
                    myarray.Add(jed.Milimetri);
                    break;

                case '2':
                    jed = Jedinice.Parse(str);
                    if (jed.Metri == 0)
                    {
                        break;
                    }
                    myarray.Add(jed.Metri);
                    break;

                case '3':
                    jed = Jedinice.Parse(str);
                    if (jed.Metri == 0)
                    {
                        break;
                    }
                    myarray.Add(jed.Kilometri);
                    break;

                case '4':
                    jed = Jedinice.Parse(str);
                    if (jed.Metri == 0)
                    {
                        break;
                    }
                    myarray.Add(jed.Inči);
                    break;

                case '5':
                    jed = Jedinice.Parse(str);
                    if (jed.Metri == 0)
                    {
                        break;
                    }
                    myarray.Add(jed.Stope);
                    break;

                case '6':
                    jed = Jedinice.Parse(str);
                    if (jed.Metri == 0)
                    {
                        break;
                    }
                    myarray.Add(jed.Milje);
                    break;
                }
            }

            if (flag == true)
            {
                double rezultat = 0;
                Console.WriteLine("Rezultat je :");
                foreach (double var in myarray)
                {
                    if (var < 0)
                    {
                        Console.Write(String.Format("{0:0.000}", var) + " + ");
                    }
                    else
                    {
                        Console.Write(String.Format("{0:0.000}", var) + " + ");
                    }
                    rezultat += var;
                }
                Console.Write(String.Format("= {0:0.000}", rezultat) + " " + (E_jedinice)jedinice);
            }
            Console.ReadKey(true);
            return(0);
        }