![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
![]()
Выручайте Люди добрые !!!
![]() |
![]() |
![]() |
![]() |
#2 |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
![]()
Доброго времени суток. У меня возникла проблема с кодом, не могу понять в чем дело! когда выбираю одно из блюд, программа фризится и выдает ошибку.Подскажите пожалуйста что делать !)
![]() |
![]() |
![]() |
![]() |
#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()); } } } |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
![]()
С какого перепугу должно сработать условие
if (sender == cmbStart) Это с каких пор мы забыли о приведении типов, и почему object должен равняться контролу ? ![]() Вот эту процедуру срочно переписывать, перед этим гуглить по словам UpCast и DownCast |
![]() |
![]() |
![]() |
#5 | |
Новичок
Джуниор
Регистрация: 12.04.2017
Сообщений: 5
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
![]()
У парня с ютуба могут хоть шарики прыгать )
А Вам настоятельно рекомендую сначала понять, что происходит при нажатии на клавишу, и что передается в метод-обработчик. Начать с азов, с понятий наследования, потом делегатов, потом событий, и потом поймете, что в переменной sender передается ссылка на контролл, но до нее добраться можно через даункаст, а потом уже обработать. Как-то так. |
![]() |
![]() |
![]() |
#7 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
первое что происходит при сравнении это сравнение ссылок. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 11.04.2017
Сообщений: 64
|
![]()
Хорошо, признаю, сравняются..
Тогда поехали в другую сторону. Вопрос к ТС как отличаются эти 2 кода Код:
Код:
|
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
зависит от локали по умолчанию.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#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 |