Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > algebraic expression 'a*b+c' with CIN .Is it possible?

Reply
Thread Tools

algebraic expression 'a*b+c' with CIN .Is it possible?

 
 
Cristian
Guest
Posts: n/a
 
      08-22-2007
algebraic expression 'a*b+c' with CIN .Is it possible?

How to transfer the algebraic expression 'a*b+c' to the variable s
(all double) with cout in a "Console Application" ?

cout<<"Input a,b,c and expression in a,b,c "<<endl;
cin>>a;
cin>>b;
cin>>c;

cin>> ???!!!! and here !!!???. If I do cin>>(a*b*c) it's wrong !!!!
cout<<"This is a*b+c \n"<< s <<endl;

How to do it ?

Thanks
cristian
 
Reply With Quote
 
 
 
 
Victor Bazarov
Guest
Posts: n/a
 
      08-22-2007
Cristian wrote:
> algebraic expression 'a*b+c' with CIN .Is it possible?
>
> How to transfer the algebraic expression 'a*b+c' to the variable s
> (all double) with cout in a "Console Application" ?
>
> cout<<"Input a,b,c and expression in a,b,c "<<endl;
> cin>>a;
> cin>>b;
> cin>>c;
>
> cin>> ???!!!! and here !!!???. If I do cin>>(a*b*c) it's wrong !!!!
> cout<<"This is a*b+c \n"<< s <<endl;
>
> How to do it ?


Read a string using 'std::getline'. If you need to calculate the
result of that expression, you'll need to implement an expression
parser. See chapter 6 of TC++PL.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


 
Reply With Quote
 
 
 
 
Cristian
Guest
Posts: n/a
 
      08-22-2007
On Wed, 22 Aug 2007 11:21:39 -0400, "Victor Bazarov"
<(E-Mail Removed)> wrote:

>Cristian wrote:
>> algebraic expression 'a*b+c' with CIN .Is it possible?
>>
>> How to transfer the algebraic expression 'a*b+c' to the variable s
>> (all double) with cout in a "Console Application" ?

]zuip[
>Read a string using 'std::getline'. If you need to calculate the
>result of that expression, you'll need to implement an expression
>parser. See chapter 6 of TC++PL.
>
>V


Is there something already prepared ?
Chapter 6 is very very crypticccccsss!!!!.....for me..
Heartfelt thankyou
 
Reply With Quote
 
=?ISO-8859-1?Q?Erik_Wikstr=F6m?=
Guest
Posts: n/a
 
      08-22-2007
On 2007-08-22 17:32, Cristian wrote:
> On Wed, 22 Aug 2007 11:21:39 -0400, "Victor Bazarov"
> <(E-Mail Removed)> wrote:
>
>>Cristian wrote:
>>> algebraic expression 'a*b+c' with CIN .Is it possible?
>>>
>>> How to transfer the algebraic expression 'a*b+c' to the variable s
>>> (all double) with cout in a "Console Application" ?

> ]zuip[
>>Read a string using 'std::getline'. If you need to calculate the
>>result of that expression, you'll need to implement an expression
>>parser. See chapter 6 of TC++PL.
>>
>>V

>
> Is there something already prepared ?
> Chapter 6 is very very crypticccccsss!!!!.....for me..


Yes, the code is in there, but if you really want to use it you really
should take the time to understand it also.

--
Erik Wikström
 
Reply With Quote
 
Gernot Frisch
Guest
Posts: n/a
 
      08-23-2007

>
> Is there something already prepared ?
> Chapter 6 is very very crypticccccsss!!!!.....for me..


Maybe you should start learing C++ before you do the hard stuff?


 
Reply With Quote
 
Juha Nieminen
Guest
Posts: n/a
 
      08-23-2007
Cristian wrote:
> algebraic expression 'a*b+c' with CIN .Is it possible?
>
> How to transfer the algebraic expression 'a*b+c' to the variable s
> (all double) with cout in a "Console Application" ?
>
> cout<<"Input a,b,c and expression in a,b,c "<<endl;
> cin>>a;
> cin>>b;
> cin>>c;
>
> cin>> ???!!!! and here !!!???. If I do cin>>(a*b*c) it's wrong !!!!
> cout<<"This is a*b+c \n"<< s <<endl;
>
> How to do it ?


Let me guess: What you want is for the program to parse and interpret
a user-inputted mathematical expression such as for example "a*b+c" (or
any other expression thereof) for given value of the variables?

There's no language feature in C++ itself which would allow this.
C++ is a compiled language, it's not an interpreted scripting language.
What you want to do is easy to do in scripted languages because the
script interpreter is basically parsing and interpreting the input
source code all the time. Thus it's trivial to construct an expression
(eg. by asking the user for it) and make the interpreter parse and
interpret it. However, C++ is not an interpreted language and thus this
kind of thing is not possible directly.

If you want to be able to parse and interpret mathematical expressions
entered by the user you need a parsing/interpreting library for that.
Here's one example of such library: http://iki.fi/warp/FunctionParser/
 
Reply With Quote
 
Cristian
Guest
Posts: n/a
 
      08-23-2007
On Thu, 23 Aug 2007 16:42:19 +0300, Juha Nieminen
<(E-Mail Removed)> wrote:

>Cristian wrote:
>> algebraic expression 'a*b+c' with CIN .Is it possible?
>>

]zac..cc[
> There's no language feature in C++ itself which would allow this.
>C++ is a compiled language, it's not an interpreted scripting language.
>What you want to do is easy to do in scripted languages because the
>script interpreter is basically parsing and interpreting the input
>source code all the time. Thus it's trivial to construct an expression
>(eg. by asking the user for it) and make the interpreter parse and
>interpret it. However, C++ is not an interpreted language and thus this
>kind of thing is not possible directly.

ok but I don't understand why there isn't a library for this (for ex
in STD). I intend say: ask for algebraic input( mathematical
expressions ex. function) isn't common ?
In a scientific program I believe that this ownership is obligatory,
if there is not this tool as it can make the consumer to interact
with the program and to introduce a mathematical function whose
structure cannot be anticipated in phase of compilation?

>
> If you want to be able to parse and interpret mathematical expressions
>entered by the user you need a parsing/interpreting library for that.
>Here's one example of such library: http://iki.fi/warp/FunctionParser/


I have to now develop small forms to personal use but it is probable
that in the future can use them for a greater project and therefore
before wasting time I would like to know if this your parser is
possible to also purchase commercial license and how much coast

I apologize you for my bad English
Tanks
cristian
 
Reply With Quote
 
Victor Bazarov
Guest
Posts: n/a
 
      08-23-2007
Cristian wrote:
> On Thu, 23 Aug 2007 16:42:19 +0300, Juha Nieminen
> <(E-Mail Removed)> wrote:
>
>> Cristian wrote:
>>> algebraic expression 'a*b+c' with CIN .Is it possible?
>>>

> ]zac..cc[
>> There's no language feature in C++ itself which would allow this.
>> C++ is a compiled language, it's not an interpreted scripting
>> language. What you want to do is easy to do in scripted languages
>> because the script interpreter is basically parsing and interpreting
>> the input source code all the time. Thus it's trivial to construct
>> an expression (eg. by asking the user for it) and make the
>> interpreter parse and interpret it. However, C++ is not an
>> interpreted language and thus this kind of thing is not possible
>> directly.

> ok but I don't understand why there isn't a library for this (for ex
> in STD). I intend say: ask for algebraic input( mathematical
> expressions ex. function) isn't common ?
> In a scientific program I believe that this ownership is obligatory,
> if there is not this tool as it can make the consumer to interact
> with the program and to introduce a mathematical function whose
> structure cannot be anticipated in phase of compilation?


If that's a requirement, and the entier system is written in C++,
then _usually_ folks /embed/ an interpreter from some other, well
known or popular language, like Python, or Basic, or Perl. Most
of them are /embeddable/. But please don't ask us where to find
such an interpreter or how to embed it. Such activity is beyond
the subject matter of this newsgroup.

>> If you want to be able to parse and interpret mathematical
>> expressions entered by the user you need a parsing/interpreting
>> library for that. Here's one example of such library:
>> http://iki.fi/warp/FunctionParser/

>
> I have to now develop small forms to personal use but it is probable
> that in the future can use them for a greater project and therefore
> before wasting time I would like to know if this your parser is
> possible to also purchase commercial license and how much coast


www.google.com

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


 
Reply With Quote
 
Cristian
Guest
Posts: n/a
 
      08-23-2007
On Thu, 23 Aug 2007 12:38:51 -0400, "Victor Bazarov"
<(E-Mail Removed)> wrote:

>Cristian wrote:
>> On Thu, 23 Aug 2007 16:42:19 +0300, Juha Nieminen
>> <(E-Mail Removed)> wrote:
>>
>>> Cristian wrote:
>>>> algebraic expression 'a*b+c' with CIN .Is it possible?
>>>>

>> ]zac..cc[
>>> There's no language feature in C++ itself which would allow this.
>>> C++ is a compiled language, it's not an interpreted scripting
>>> language. What you want to do is easy to do in scripted languages
>>> because the script in

]zac[
>such an interpreter or how to embed it. Such activity is beyond
>the subject matter of this newsgroup.


doesn't this group speak of c++? have not I perhaps said since the
beginning that I am a beginner? I have told him.
but it is not able not answer in this group ?. To use some faculty not
to answer is a right. Use it
And however if I have disturbed I ask excuse everybody
thanks
cristian

 
Reply With Quote
 
Victor Bazarov
Guest
Posts: n/a
 
      08-23-2007
Cristian wrote:
> On Thu, 23 Aug 2007 12:38:51 -0400, "Victor Bazarov"
> <(E-Mail Removed)> wrote:
>
>> Cristian wrote:
>>> On Thu, 23 Aug 2007 16:42:19 +0300, Juha Nieminen
>>> <(E-Mail Removed)> wrote:
>>>
>>>> Cristian wrote:
>>>>> algebraic expression 'a*b+c' with CIN .Is it possible?
>>>>>
>>> ]zac..cc[
>>>> There's no language feature in C++ itself which would allow this.
>>>> C++ is a compiled language, it's not an interpreted scripting
>>>> language. What you want to do is easy to do in scripted languages
>>>> because the script in

> ]zac[
>> such an interpreter or how to embed it. Such activity is beyond
>> the subject matter of this newsgroup.

>
> doesn't this group speak of c++?


Yes, it does. You need to separate the language itself with its
applications, though. Example: there is this newsgroup, called
'alt.usage.english' where I can learn how to use English, but they
will not tell me how to write a good business proposal in English.
Writing good business proposals is not necessarily the topic of
'alt.usage.english'.

Same here. If you have a language problem, we're happy to help
you with it. However, we will not tell you how to develop some
algorithm using C++. That's beyond this newsgroup's topic.

> have not I perhaps said since the
> beginning that I am a beginner?


Being a beginner is not an excuse.

> I have told him.
> but it is not able not answer in this group ?.


We are not able to tell you what you need to do to use a Python
interpreter in a C++ program. It's a topic for a Python forum.

> To use some faculty not
> to answer is a right.


I am not sure I understand that statement.

> Use it
> And however if I have disturbed I ask excuse everybody


You have not disturbed anybody, I hope. And from what I can see,
you have received at least some advice you should be able to use.

V
--
Please remove capital 'A's when replying by e-mail
I do not respond to top-posted replies, please don't ask


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Using cin.get() and cin.eof() ends up in an endless loop Fernando C++ 4 11-16-2011 07:19 PM
cin and cin.getline() Aleander C++ 5 03-06-2005 03:57 PM
Re: expressing a certain algebraic statement in C++ STL Mike Wahler C++ 1 04-01-2004 02:40 PM
std::cin.ignore() and std::cin.clear() Chris Mantoulidis C++ 5 01-06-2004 11:08 PM
cin and cin.clear() problem TaiwanNoWhere C++ 8 10-17-2003 05:53 PM



Advertisments