Avatar
Maris
Člen
Avatar
Maris:

Ahojte,
vedel by mi niekto pomoct a opravit tento kod??.... nevem preco mi tam hadze error
DAKUJEM :)

using System;
namespace TemperatureConverter
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            Converter.Init();
        }
    }

    internal class Converter
    {
        /// <summary>
        ///     Basic initialization function
        /// </summary>
        public static void Init()
        {
            Console.WriteLine("Vítajte v prevodníku teplôt");
            /*
             * Get user input and continue with logic or repeat, until valid input is obtained
            */
            int menu;
            do
            {
                Console.WriteLine();
                Console.WriteLine("Pre prevod zo °C zadajte 1");
                Console.WriteLine("Pre prevod zo °F zadajte 2");
                Console.Write("Váš výber: ");
            } while (!int.TryParse(Console.ReadLine(), out menu) || (menu != 1 && menu != 2));
            switch (menu)
            {
                case 1:
                    InitCelsiusConversion();
                    break;
                case 2:
                    InitFahrenheitConverstion();
                    break;
            }
        }

        /// <summary>
        ///     Initialization function for conversion from Celsius
        /// </summary>
        protected static void InitCelsiusConversion()
        {
            Console.WriteLine();
            Console.WriteLine("Konvertovanie z °C");
            double temperature;
            do
            {
                Console.Write("Zadajte hodnotu v °C: ");
            } while (!double.TryParse(Console.ReadLine(), out temperature));
            IConvert iC = new Celsius(temperature);
            Console.WriteLine();
            Console.WriteLine("Teplota v °C je {0}", iC.ToCelsius());
            Console.WriteLine("Teplota v °F je {0}", iC.ToFahrenheit());
            Console.WriteLine("Teplota v °K je {0}", iC.ToKelvin());
        }

        /// <summary>
        ///     Initialization function for conversion from Fahrenheit
        /// </summary>
        protected static void InitFahrenheitConverstion()
        {
            Console.WriteLine();
            Console.WriteLine("Konvertovanie z °F");
            double temperature;
            do
            {
                Console.Write("Zadajte hodnotu v °F: ");
            } while (!double.TryParse(Console.ReadLine(), out temperature));
            IConvert iC = new Fahrenheit(temperature);
            Console.WriteLine();
            Console.WriteLine("Teplota v °F je {0}", iC.ToFahrenheit());
            Console.WriteLine("Teplota v °C je {0}", iC.ToCelsius());
            Console.WriteLine("Teplota v °K je {0}", iC.ToKelvin());
        }

        /// <summary>
        ///     Interface implementing functions to convert
        /// </summary>
        private interface IConvert
        {
            /// <summary>
            ///     Class for converting temperature to Celsius
            /// </summary>
            /// <returns>double value of temperature in °C</returns>
            double ToCelsius();

            /// <summary>
            ///     Class converting temperature to Kelvin
            /// </summary>
            /// <returns>double value of temperature in °K</returns>
            double ToKelvin();

            /// <summary>
            ///     Class converting temperature to Fahrenheit
            /// </summary>
            /// <returns>double value of temperature in °F</returns>
            double ToFahrenheit();
        }

        /// <summary>
        ///     Base clase for Temperatures, defining their value (temperature)
        /// </summary>
        private abstract class Temperature : IConvert
        {
            protected Temperature(double tempValue)
            {
                TempValue = tempValue;
            }

            protected double TempValue { get; }
            public abstract double ToCelsius();
            public abstract double ToKelvin();
            public abstract double ToFahrenheit();
        }

        /// <summary>
        ///     Class for Celsius, extending Temperature and logic to conversion
        /// </summary>
        private class Celsius : Temperature
        {
            public Celsius(double temperature) : base(temperature)
            {
            }

            public override double ToCelsius()
            {
                return TempValue;
            }

            public override double ToKelvin()
            {
                return TempValue + 273.15;
            }

            public override double ToFahrenheit()
            {
                return (32 + (1.8*TempValue));
            }
        }

        /// <summary>
        ///     Class for Kelvin, extending Temperature and logic to conversion
        /// </summary>
        private class Kelvin : Temperature
        {
            public Kelvin(double tempValue) : base(tempValue)
            {
            }

            public override double ToCelsius()
            {
                return TempValue - 273.15;
            }

            public override double ToKelvin()
            {
                return TempValue;
            }

            public override double ToFahrenheit()
            {
                return (ToCelsius()*1.8) + 32;
            }
        }

        /// <summary>
        ///     Class for Fahrenheit, extending Temperature and logic to conversion
        /// </summary>
        private class Fahrenheit : Temperature
        {
            public Fahrenheit(double tempValue) : base(tempValue)
            {
            }

            public override double ToCelsius()
            {
                return ((TempValue - 32)/1.8);
            }

            public override double ToKelvin()
            {
                return ToCelsius() + 273.15;
            }

            public override double ToFahrenheit()
            {
                return TempValue;
            }
        }
    }
}
Editováno 10.1.2015 18:43
 
Odpovědět 10.1.2015 18:40
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Maris
Daniel Vítek:

A jaký errory to hází ?

 
Nahoru Odpovědět 10.1.2015 18:45
Avatar
Jan Vargovský
Redaktor
Avatar
Odpovídá na Maris
Jan Vargovský:
protected double TempValue { get; }

V C# zapsat zatím nejde. Buď si uděláš něco jako:

private double tempValue;
protected double TempValue { get {return tempValue;} }

a nebo

protected double TempValue { get; private set;}
 
Nahoru Odpovědět 10.1.2015 18:57
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.