|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.04.2017, 17:48 | #1 |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
Калькулятор Счета C#
Выручайте Люди добрые !!!
|
12.04.2017, 17:49 | #2 |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
Доброго времени суток. У меня возникла проблема с кодом, не могу понять в чем дело! когда выбираю одно из блюд, программа фризится и выдает ошибку.Подскажите пожалуйста что делать !)
|
12.04.2017, 17:50 | #3 |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
using System;
using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public struct Orders { public string item; public double price; } const double TAX = 0.06; Orders order = new Orders(); static double subtotal = 0; static double totalTaxes = 0; static double total = 0; string finalBill = "Final Bill: \n"; public Form1() { InitializeComponent(); } private void getValues(string custOrder) { order.item = custOrder.Split('£')[0]; order.price = Convert.ToDouble(custOrder.Split('£ ')[1]); lstOutput.Items.Add("price: " + order.price); finalBill += "Ordered Item: " + order.item + "\nPrice: " + order.price.ToString("C2") + "\n"; updateBill(); } private void updateBill() { subtotal += order.price; total += order.price + (order.price * TAX); totalTaxes += order.price * TAX; lstOutput.Items.Clear(); lstOutput.Items.Add(finalBill); lstOutput.Items.Add("Subtotal: " + subtotal.ToString("C2")); lstOutput.Items.Add("Tax: " + totalTaxes.ToString("C2")); lstOutput.Items.Add("Total: " + total.ToString("C")); } private void DropDownSelection(object sender, EventArgs e) { if (sender == cmbStart) getValues(cmbStart.SelectedItem.ToS tring()); else if (sender == cmbTop) getValues(cmbTop.SelectedItem.ToStr ing()); else if (sender == cmbBas) getValues(cmbBas.SelectedItem.ToStr ing()); else getValues(cmbDes.SelectedItem.ToStr ing()); } } } |
12.04.2017, 17:59 | #4 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
С какого перепугу должно сработать условие
if (sender == cmbStart) Это с каких пор мы забыли о приведении типов, и почему object должен равняться контролу ? Вот эту процедуру срочно переписывать, перед этим гуглить по словам UpCast и DownCast |
12.04.2017, 18:18 | #5 | |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
Цитата:
|
|
12.04.2017, 22:20 | #6 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
У парня с ютуба могут хоть шарики прыгать )
А Вам настоятельно рекомендую сначала понять, что происходит при нажатии на клавишу, и что передается в метод-обработчик. Начать с азов, с понятий наследования, потом делегатов, потом событий, и потом поймете, что в переменной sender передается ссылка на контролл, но до нее добраться можно через даункаст, а потом уже обработать. Как-то так. |
13.04.2017, 02:22 | #7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
Цитата:
первое что происходит при сравнении это сравнение ссылок. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
13.04.2017, 09:33 | #8 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
Хорошо, признаю, сравняются..
Тогда поехали в другую сторону. Вопрос к ТС как отличаются эти 2 кода Код:
Код:
|
13.04.2017, 10:46 | #9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
зависит от локали по умолчанию.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
13.04.2017, 11:08 | #10 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
Правильно, но я хотел, чтобы ТС подумал немного - ошибка, на сколько я могу судить по картике (качество не очень, саму ошибку не вижу) - кроется именно в преобразовании в дабл значение. Я поэтому и не написал, какая часть сработала у меня, так как действительно, не указав локаль - понять где ошибка невозможно.
А теперь самый главный вопрос - что будет в этом случае Код:
Последний раз редактировалось hoolygan; 13.04.2017 в 11:12. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проверка счета | komra2 | C# (си шарп) | 14 | 02.11.2016 18:34 |
Автоматизирование счета | Deathcube | Microsoft Office Excel | 3 | 01.10.2013 10:02 |
цикл для счета | сергей4 | Фриланс | 3 | 21.10.2009 09:57 |
Открытие счета PayPal | Slavik | Свободное общение | 4 | 26.09.2009 21:15 |
проверяем наличие счета | Romuald | Microsoft Office Excel | 2 | 14.01.2009 12:44 |