"Автомат напитков" WPF, C#, Visual Studio
Формулировка задачи:
Привет всем!!
Учусь в институте в котором в одной из дисциплин является программирование на С# и нам дали задание написать программу «автомат напитков» в Visual Studio WPF.
Я только начинающий, сильно не бейте :-)
Уже несколько дней мучаюсь, не могу разобраться.
Автомат напитков(скриншот внизу )
http://ipicture.ru/Gallery/Viewfull/28148047.html
сначала выбрать напиток и извещение о выборе напитка должно встать напротив "действующий выбор" - это я могу сделать:
Я думаю если для каждой кнопки монеты сделать переменную money и решить
это с помощью :
double price;
double money;
if (money ? price)
{
}
else if ( )
{
}
и еще после покупки под "сообщение"
должно высветиться , название продукта который купил пользователь ,
сдача в 0.1/0.2/- 0.10 в копейках и рублях и расчет.
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."; }
Решение задачи: «"Автомат напитков" 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(); } ................
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д