Тема: Help
Якщо на Делфі можна прописати так (
var x:real;
begin
x:=strtofloat(edit1.text);
end;
end.
)
то як прописати в С++?
Chemist-i: Будь-ласка використовуйте для коду теґ [ code ]
Ви не увійшли. Будь ласка, увійдіть або зареєструйтесь.
Ласкаво просимо вас на україномовний форум з програмування, веб-дизайну, SEO та всього пов'язаного з інтернетом та комп'ютерами.
Будемо вдячні, якщо ви поділитись посиланням на Replace.org.ua на інших ресурсах.
Для того щоб створювати теми та надсилати повідомлення вам потрібно Зареєструватись.
Український форум програмістів → C++ → Help
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися
Якщо на Делфі можна прописати так (
var x:real;
begin
x:=strtofloat(edit1.text);
end;
end.
)
то як прописати в С++?
Chemist-i: Будь-ласка використовуйте для коду теґ [ code ]
1. Змініть назву на інформативну.
2. Поставте теги code (трикутні дужки над полем вводу допису).
3. В C++ немає ніяких "edit1.text", зате вони є в VCL - бібліотекою, що використовується в C++ Builder та Delphi. Вам зі збереженням VCL відповісти чи для іншої бібліотеки?
3. Я знаю. З CLR.
Мене цікавить як прив'язати textBox.Text до x;
Прив'язати - ніяк. Отримати значення типу з рухомою комою - можна.
textBox.Text має тип System.String. У цього типа є метод ToDouble. Цей метод повертає саме те, що вам треба:
double x = textBox.Text.ToDouble();
І напишіть на google.com та msdn.microsoft.com, щоб вас розбанили, а то зовсім погано програмувати буде.
Якщо вам не тяжко допоможіть мені переписати з Console Application на VCL Appcicapion таке (
#include <iostream>
#include <conio.h>
using namespace std;
int main () {
float x;
cout<<"Enter, x";
cin>>x;
for (float z=2; x<=99; z++)
cout<<x*z;
getch();
return 0 ;
}
)
з використанням richTextBox, textBox, Button
Chemist-i: Будь-ласка використовуйте для коду теґ [ code ]
Ваш код неправильний тому що х ніколи не змінюється тобто for (float z=2; x<=99; z++) цей цикл вічний
Я зробив на C++Builder XE7
void __fastcall TForm1::Button1Click(TObject *Sender)
{
float x=StrToFloat(Edit1->Text);
for (float z=2; z<=99; z++)
ListBox1->Items->Add(x*z);
}
Тут проект і працююча програма https://сайт-злодій/d/Sr7DzBFYfSejh
По перше С++ чутливий до регістру букв, якщо на Делфі можно написати strtofloat или STRTOFLOAT, а можно StRtFlOaT и все буде працювати, то в С++ трохи суворіше - можно тільки так StrToFloat. А цей рядок x:=strtofloat(edit1.text);, якщо Ви використовуете С++ Builder можно записати так... x=StrToFloat(Edit1->Text);
так я щойно замітив що зробив помилки мало бути так (
#include <iostream>
#include <conio.h>
using namespace std;
int main () {
float x;
cout<<"Enter, x";
cin>>x;
for (float z=2; z<=99; z++) {
cout<<x*z; }
getch();
return 0 ;
}
).
Дякую.
Chemist-i: Будь-ласка використовуйте для коду теґ [ code ]
Але я використовую VS Express 2013. І StrToFloat там не діє.
Аналог точно має бути, попробуйте так
string str = "0.5";
float a=atof(str.c_str());
Ви для початку визначиться, на CLR вам треба чи на VCL. Бо доки ви обиратимете між wxWidgets та Qt, ніхто вам не зможе написати вашу програму на MFC, бо не знатиме, що вам потрібне WinAPI... чи WTL... а чи GTK+...
я ж писав що потрібно на CLR.
#include <iostream>
#include <conio.h>
using namespace std;
int main () {
float x;
cout<<"Enter, x";
cin>>x;
for (float z=2; z<=99; z++) {
cout<<x*z; }
getch();
return 0 ;
}
Chemist-i: Будь-ласка використовуйте для коду теґ [ code ]
Можливо ліпше буде якщо я напишу програму на Делфі а ви її перепишите на VS Express 2013 C++ CLR
я ж писав що потрібно на CLR.
Тоді чим вас мій код не влаштовує?
так не буде працювати
double x = textBox.Text.ToDouble();
треба якось так так (не перевіряв)
auto convertible = dynamic_cast< IConvertible ^ >(textbox->Text)
auto x = convertible->ToDouble(CultureInfo::CurrentCulture);
я ж писав що потрібно на CLR.
#include <iostream> #include <conio.h> using namespace std; int main () { float x; cout<<"Enter, x"; cin>>x; for (float z=2; z<=99; z++) { cout<<x*z; } getch(); return 0 ; }
це взагалі не с++/cli проект, а просто стандартний с++ причому консольний.
shabaranskij написав:я ж писав що потрібно на CLR.
#include <iostream> #include <conio.h> using namespace std; int main () { float x; cout<<"Enter, x"; cin>>x; for (float z=2; z<=99; z++) { cout<<x*z; } getch(); return 0 ; }
це взагалі не с++/cli проект, а просто стандартний с++ причому консольний.
Так я знаю, просто мені потрібно переписати цю програму на VCL Forms. Нічого якось розберусь.
Сторінки 1
Для відправлення відповіді ви повинні увійти або зареєструватися