Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.07.2012, 16:55   #1
Artesik
Пользователь
 
Регистрация: 25.11.2009
Сообщений: 12
По умолчанию

Здравствуйте.
Нужно чтобы в поле edit4 выводилось слово Yes либо No.
На данный момент программа выводит только последнюю букву слова.

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{

int a;
char result; 
a=StrToFloat (Edit1->Text);
if (a > 100)
result='Yes';
else
result='No';
Edit4->Text=result; 
}
Пробовал задать char result[10];
В таком случае выдает ошибку:
[C++ Error] Unit1.cpp(53): E2277 Lvalue required

Если есть варианты как реализовать подобное, пишите)

Последний раз редактировалось Stilet; 01.07.2012 в 17:55.
Artesik вне форума Ответить с цитированием
Старый 01.07.2012, 17:59   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{Edit4->Text=(StrToFloat (Edit1->Text)>100)?"Yes":"No";}
Устроит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 01.07.2012, 18:54   #3
Гром
Старожил
 
Аватар для Гром
 
Регистрация: 21.03.2009
Сообщений: 2,193
По умолчанию

Ошибки у вас такие:
1. Для строк нужно использовать массив символов (или классы типа std::string, AnsiString или подобные).
2. Для строковых литералов (константных массивов символов) используются двойные кавычки
3. Присваивание строк с помощью operator= работает только в классах std::string, AnsiString и им подобных, поскольку в них этот оператор переопределен (т.е. код
std::string s1 = "Hello";
str::string s2;
s2 = s1;
отработает корректно), а для массивов символов (т.н. "строки в стиле Си") необходимо использовать функцию strcpy
В вашем случае, поскольку работаете в билдере, используйте AnsiString. Edit -> Text и прочие текстовые поля имеют там именно этот тип.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта
Тема на форуме, посвященная ему же
Гром вне форума Ответить с цитированием
Старый 02.07.2012, 12:25   #4
gsl180
Пользователь
 
Регистрация: 24.06.2012
Сообщений: 36
По умолчанию

Цитата:
Сообщение от Artesik Посмотреть сообщение
Нужно чтобы в поле edit4 выводилось слово Yes либо No.
Если проблема только в этом, то можно так
int a;
a=StrToFloat(Edit1->Text);
if(a>100)
Edit4->Text="Yes";
if(a<100)
Edit4->Text="No"

Последний раз редактировалось gsl180; 02.07.2012 в 12:34.
gsl180 вне форума Ответить с цитированием
Старый 02.07.2012, 15:31   #5
nick42
Форумчанин
 
Аватар для nick42
 
Регистрация: 14.10.2011
Сообщений: 267
По умолчанию

Код:
  String Re[2] = { "Нет","Да" };
  Edit4->Text = Re[1&(Edit1->Text.ToIntDef(0)>100)];
nick42 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Что за тип такой char*** ntec Visual C++ 19 22.04.2012 13:01
Проблема с программой. Нельзя преобразовать тип set of char к char Lasso Помощь студентам 5 07.06.2011 12:03
две задачи на тип INTEGER и тип CHAR inspiron13 Помощь студентам 5 04.01.2011 00:17
две задачи на тип INTEGER и тип CHAR inspiron13 Паскаль, Turbo Pascal, PascalABC.NET 3 04.01.2011 00:08
В Access есть тип данных "Счетчик".Есть ли подобный тип данных в MS Sql Server 2000? An_ton SQL, базы данных 5 16.01.2009 17:55