Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Dr. Who
29 / 29 / 2
Регистрация: 28.08.2012
Сообщений: 152
#1

Как текст перевести в переменные? - C++

01.09.2012, 21:08. Просмотров 736. Ответов 11
Метки нет (Все метки)

Можноли строку вставить в код программы во время работы программы как набор переменных?
Например:
Есть Edit1. В нем написано: "x * x".
Можно ли
int x;
int y = Edit1->Text;
что бы x * x были переменными, а не строкой?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.09.2012, 21:08
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Как текст перевести в переменные? (C++):

Как перевести цифры в текст? - C++
Как перевести цифры в нужный текст?Например,52,12 должно быть 52 доллара 12 центов.

Переменные в которых можно хранить текст - C++
В каких переменных можно хранить текст?! Мне просто нужно написать прогу которая будет выдавать рандомную фразу или цитату! Только не...

Считать из файла текст и записать его в переменные - C++
Такая задача. Нужно из пакпи где находится бинарник зайти в другую папку(она находиться в этой дирриктории) и считать от туда текст и...

Перевести текст на c++ - C++
program Array128; var a: array of integer; B: array of integer; C: array of integer; temp,M,N,i,j:integer; begin ...

Перевести текст программы на С++ с С# - C++
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...

Изображение с текстом перевести в текст - C++
нужна прога(для перевода фото). состоязщая из двух окон. Сверху чобы открывался tif,pdf. а снизу открвался word в котором буду писать...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Vourhey
Почетный модератор
6481 / 2256 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
01.09.2012, 21:17 #2
Нет. Ручками парси выражение и его выполняй.
1
Dr. Who
29 / 29 / 2
Регистрация: 28.08.2012
Сообщений: 152
01.09.2012, 21:20  [ТС] #3
А как это
0
ВАСИЛЕВС
555 / 478 / 60
Регистрация: 14.02.2012
Сообщений: 1,561
01.09.2012, 21:37 #4
Dr. Who, это типа калькулятор. С Edit1 брать выражение и вычислять. То есть парсить и выполнять, как и написал Vourhey.
1
Dr. Who
29 / 29 / 2
Регистрация: 28.08.2012
Сообщений: 152
07.09.2012, 22:22  [ТС] #5
Как текст "x*x" перевести в переменные, чтобы получилось int y = x*x;?
0
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
07.09.2012, 22:29 #6
Нажать [End], нажать [Shift] + [:], нажать [Home], затем нажать последовательно: [i], [n], [t], [ ], [y], [ ], [=], [ ].

Эм... Вы не могли бы переформулировать вопрос? Желательно с примером кода побольше и комментарием, как бы вы хотели, чтобы он работал.
0
Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
07.09.2012, 22:32 #7
Может быть так?
C++
1
2
3
4
5
6
7
    int x, y;
    char str[] = "5*5";
 
    x = int(str[0]) - '0';
    y = x * x;
 
    cout << "y = " << y << endl;  // напечатает 25
0
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
07.09.2012, 22:32 #8
Никак, C++ не дает доступа к компилятору (в отличие от C#, например).
Нужно писать свой парсер.
0
Dr. Who
29 / 29 / 2
Регистрация: 28.08.2012
Сообщений: 152
07.09.2012, 22:37  [ТС] #9
C++
1
2
3
4
5
6
7
8
9
AnsiString A = Edit1->Text;
int x = -200;
int y = 0;
while(x<400)
{
x++;
y = x*x*-1/10; //x*x -Функция параболы //*-1 - переворачиваем(а то рисует кверх ногами) // /10 - Единичный отрезок 10 пикселей.
Image1->Canvas->LineTo(200+ x, 200+y); //200+ - чтобы рисовала посередине Image размером 400x400
}
надо, чтобы вместо x*x рисовалась функция введеная в Edit-е.
0
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
07.09.2012, 22:40 #10
От того, что ты несколько раз повторил, что тебе нужно, проблема сама не решится :-)
Я тебе в нескольких темах написал, нужен некий парсер, например класс, который допускает использования типа следующего:
C++
1
2
3
4
while ( arg < 400 ) {
    arg++;
    y = Parser::evaluate( "x*x", arg );
}
То есть вызов
C++
1
double Parser::evalute( std::string expression, double arg );
должен парсить выражение, записанное в строке expression, строить для него дерево или некое другое представление, а затем возвращать значение этого выражения при значении переменной равном arg.
2
silent_1991
Эксперт С++
4964 / 3040 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
09.09.2012, 18:29 #11
Dr. Who, вот, писал как-то парсер арифметических выражений. В начале указана грамматика. Вам остаётся его модифицировать (добавить возможность работы с переменными), это повлечёт незначительные изменения в грамматике и чуть более значительные изменения в коде, но я в вас верю.
http://liveworkspace.org/code/3cd6ee...4370a96f72d227
1
Avazart
Эксперт С++
7188 / 5362 / 280
Регистрация: 10.12.2010
Сообщений: 23,666
Записей в блоге: 17
09.09.2012, 18:51 #12
Может это Математический ввод формул в Edit ?
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.09.2012, 18:51
Привет! Вот еще темы с ответами:

Надо перевести текст с паскаля в С++ - C++
Дали программу, а я в паскали совершенно не шарю, помогите перевести в С++ uses crt; const nmax=20; type frac=record ...

Перевести текст в кодировку ASCII - C++
перевести текст&quot;Daria&quot; в код ASCII

Перевести вводимый текст в элементы массива - C++
Ребят, подскажите или напишите программу, как присвоить каждую букву, набранного текста, в элементы массива. Очень сильно выручите.

Текст в кодировке cp1251 перевести в utf8 и обратно? - C++
Здорова! Вот есть код: #include &lt;iostream&gt; using std::cout; using std::endl; using std::cerr; using std::cin; #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
09.09.2012, 18:51
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru