![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Athlete |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.2.2006 Репутация: нет Всего: нет |
У меня вводится число k, при нажатии какого-либо знака (кнопки) происходит выполнение действия с числом q. За действие отвечает znak. Как только вводишь q отрицательным, то k становится равным -q. Ничего не пойму. Ему должно же быть всеравно.
![]()
|
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
А k то, чему равно?
|
|||
|
||||
Athlete |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.2.2006 Репутация: нет Всего: нет |
k - положительное, разве это имеет значение?
Добавлено @ 02:28 k - положительное, разве это имеет значение? |
|||
|
||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
мало кода привёл всмысле. Ошибка в другом месте.
|
|||
|
||||
Athlete |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.2.2006 Репутация: нет Всего: нет |
Ну это главная часть.Расскажу по действиям:
1. В k вбивается первое число (глобальная переменная) 2. При нажатии кнопки действия, обнуляется Edit1. 3. Ввожу q (второе число). 4. Нажимаю знак равно (где расположен switch). Он, вбивает второе число (тоже с edit1) в q, распознает знак, выполняет действие |
|||
|
||||
Lotrex |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
Вот это:
не совсем правильно (или совсем не правильно ![]() Вот так лучше будет:
P.S.Athlete, судя по тому, что Вы говорите, у Вас где-то в другом месте программы все-таки есть глюк какой-то... Возможно, выход за границы динамического массива. А проблемы с atof и Edit лишь следствие. Вы выкладывайте сюда код своего калькулятора, не стесняйтесь! ![]() Это сообщение отредактировал(а) Lotrex - 9.3.2006, 08:41 |
||||
|
|||||
Athlete |
|
|||
Новичок Профиль Группа: Участник Сообщений: 18 Регистрация: 23.2.2006 Репутация: нет Всего: нет |
У калькулятора 4 вкладки, поэтому все выкладывать не вижу смысла. Может быть лучше тогда по мылу кинуть проект? проще будет.
|
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
Имхо лучше юзать StrToInt & StrToFloat
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Adil' |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 311 Регистрация: 26.8.2004 Где: Питер Репутация: 6 Всего: 15 |
q=atof(&(Edit1->Text[1]));
совсем неправильно, впрочем, как и q=atof(Edit1->Text[1]->c_str()); - это даже не скомпилится Если уж хочется atof импользовать, то q=atof(Edit1->Text.c_str()); -------------------- Удачи |
|||
|
||||
Lotrex |
|
||||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
Да, верно, тут я поторопился и лажанулся.. ![]()
А чем лучше? Тем что исключения выбрасывают? Я их поэтому и не использую ![]()
А сколько места проект занимает? Можно только *.cpp файлы послать. (Да их и тут можно выложить, я думаю.) Это сообщение отредактировал(а) Lotrex - 9.3.2006, 15:03 |
||||||
|
|||||||
sergejzr |
|
|||
![]() Un salsero ![]() Профиль Группа: Админ Сообщений: 13285 Регистрация: 10.2.2004 Где: Германия г .Ганновер Репутация: 19 Всего: 360 |
Досьтаточно будет кода всей функции в которой эти 9 строк находятся. что ты в первом ссобщении привёл.
|
|||
|
||||
Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 8 Всего: 146 |
Тем что эта фича именно борланда, а исключения и обработать можно , ведь не просто так их придумали ![]() -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. ![]() |
|||
|
||||
Lotrex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
Я думаю, что нет, потому что ежели разрушена куча, то последствия этого могут вылезти совсем не там, где произошло это разрушение. В сях на деле не работает принцип "разделяй и властвуй" ![]() ![]() |
|||
|
||||
Lotrex |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
Athlete, вот тут у Вас в том коде, что Вы прислали:
Эти переменные объявлены глобальными. Имхо, глобальные они тут нафиг не нужны. Я бы объявил вот так:
Тогда область видимости этих переменных будет - файл, в котором они объявлены, а не вся программа. На худой конец, их в приватную часть объявления класса можно засунуть. И потом, таким переменным надо бы имена давать более заметные - хотя бы подлиннее и с "верблюжими горбами" : ТакИхБудетЛучшеВидно ![]() К примеру, k переименовать в FirstValue, а q переименовать в SecondValue. Но это так, на будущее совет. И ставьте отступы, а то Ваш код читать - можно сломать и мозги и глаза. ![]() |
||||
|
|||||
Lotrex |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 9.2.2006 Где: Казань Репутация: 2 Всего: 3 |
К сожалению, не смог откомпилить Ваш проект - у меня C++ Builder 5.0 стоит, 6-ым пока не пользуюсь
![]() Единственное, что могу присоветовать - поставьте во все обработчики событий бряки. Возможно, что при нажатии кнопки-арифм. действия (+, -, *, /) или кнопки-равенства, или при вводе числа помимо нужных обработчиков этих событий вызываются еще какие-то "левые", или нужные обработчики вызываются не один раз. Это сообщение отредактировал(а) Lotrex - 13.3.2006, 10:05 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |