"Автомат напитков" WPF, C#, Visual Studio

Узнай цену своей работы

Формулировка задачи:

Привет всем!! Учусь в институте в котором в одной из дисциплин является программирование на С# и нам дали задание написать программу «автомат напитков» в Visual Studio WPF. Я только начинающий, сильно не бейте :-) Уже несколько дней мучаюсь, не могу разобраться. Автомат напитков(скриншот внизу ) http://ipicture.ru/Gallery/Viewfull/28148047.html сначала выбрать напиток и извещение о выборе напитка должно встать напротив "действующий выбор" - это я могу сделать:
        private void btnCola_Click(object sender, RoutedEventArgs e)
        {
            double price = 0.50;
            lblChoice.Content = "Кола" +price + "p.";
        }

        private void btnWater_Click(object sender, RoutedEventArgs e)
        {
            double price = 0.60;
            lblChoice.Content = "Вода" +price + "p.";
        }

        private void btnCoffee_Click(object sender, RoutedEventArgs e)
        {
            double price = 0.70;
            lblChoice.Content = "Кофе" +price +"p.";
        }

        private void btnSoup_Click(object sender, RoutedEventArgs e)
        {
            double price = 1.00;
            lblChoice.Content = "Суп" +price + "p.";
        }
Я думаю если для каждой кнопки монеты сделать переменную money и решить это с помощью : double price; double money; if (money ? price) { } else if ( ) { } и еще после покупки под "сообщение" должно высветиться , название продукта который купил пользователь , сдача в 0.1/0.2/- 0.10 в копейках и рублях и расчет.

Решение задачи: «"Автомат напитков" WPF, C#, Visual Studio»

textual
Листинг программы
public abstract class Drinks //класс напитки
    {
        float price; //цена напитка
        float change; 
 
        public Drinks(float price)
        {
            this.price = price;
        }
 
        public abstract bool GetDrink();
 
        public float Price
        {
            get { return this.price; }
            set 
            {
                if (value > 0)
                    this.price = value;
            }
        }
 
        protected virtual float GetChange() //метод получить сдачу
        {
            if (change > 0)
            {
                int[] arrChange = { 1, 5, 10, 25, 50 }; //массив допустимых монет
 
                int tmp = ((int)Math.Round(change * 100, 0)) % 100;
                int dollar = ((int)Math.Round(change * 100, 0)) / 100;
                int count = 0;
                Console.Write("You change is {0}", (dollar > 0) ? string.Format("{0}${1}", dollar, (tmp > 0) ? " and " : "") : "");
                for (int i = (arrChange.Length - 1); i >= 0; i--)
                {
                    if ((tmp - arrChange[i]) >= 0)
                    {
                        count++;
                        tmp = tmp - arrChange[i];
                        i++;
                    }
                    else
                    {
                        if (count > 0)
                        {
                            Console.Write(" {0} cent * {1} ", arrChange[i], count);
                            count = 0;
                        }
                    }
                }
                Console.WriteLine();
                return change;
            }
            return 0;
        }
 
        public virtual bool DropMoney(float money) //метод положить деньги
        {
            change = money - price;
            if (change < 0)
            {
                Console.WriteLine("Sorry give more money!");
                return false;
            }
            return true;
        }
    }
 
    public class CocaCola : Drinks //класс Coca Cola
    {
        public CocaCola(float price):base(price)
        {            
        }
 
        public override bool GetDrink() //реализация метода получить напиток
        {
            double change = this.GetChange();
            if (change > 0)
            {
                Console.WriteLine("Get your Coca Cola!");
                return true;
            }
            return false;
        }
    }
................
................
//где-то в коде, например
private void btnCola_Click(object sender, RoutedEventArgs e)
{
    CocaCola cc = new CocaCola(0.5f);
    cc.DropMoney(2.50f);
    cc.GetDrink();
}
................

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.933 из 5