Re: Help!!!
On Nov 17, 11:32 am, Lionel B <m...@privacy.net> wrote:
On Fri, 14 Nov 2008 14:45:18 -0800, James Kanze wrote:
On Nov 14, 5:45 pm, Lionel B <m...@privacy.net> wrote:
On Fri, 14 Nov 2008 07:51:21 -0800, reepakmajhi....@gmail.com wrote:
osmium wrote:
<reepakmajhi....@gmail.com> wrote:
Write a C++ program to input a number. If the number n
is odd and positive,print its square root otherwise
print pow(n,5)
There are five or six sub-problems there. I think you
should post some code to show that you are at least
trying and also to show where your problems are. Unless
you do post some code, I predict you will get no further
help.
The following i have tried
Ok, that doesn't compile on my system.
#include<iostream.h>
#include <iostream>
iostream.h possibly doesn't (and probably shouldn't) exist.
It definitely should exist, for reasons of backward
compatibility. Many implementations, however, provide a
version of it which isn't backward compatible. And you may
need special compiler flags to get at it.
Hm. My compiler (gcc 4.3.2) won't pick it up (with -std=c++98
-pedantic). In fact it doesn't appear to exist in the source
or installation tree for gcc 4.3.2. What does the standard
say?
It's not a question of the standard. It's a question of
supporting existing code. A compiler would be quite
irresponsible not to provide it, although as I said, it may
require special options to get it. (And I wouldn't expect to
get it if I specifically request 100% standard compatibility.)
Regretfully, too, many compilers only provide a "roughly
compatible" version, which still breaks some existing code.
(This was the case with both g++ and Sun CC before I made my
transition to the standard libraries.)
All of which isn't really that important in this context. As I
said:
What is certain is that someone learning C++ today shouldn't
be using it.
It's there (or should be there) to support legacy code, and
shouldn't be used except in legacy code; typically, the vendor
is not actively maintaining it, for example.
Sure.
[...]
cin>>number;
odd=(n=number/2)? sqrt(number):pow(number,5);
Hmmm... think of a simple test for oddness (or for
evenness). Hint: what do you get when you divide an odd
"int" value by 2 ?
Better yet, what is the definition of an odd number? And is
there an operator which could give the required information.
(I wouldn't use division.)
I wouldn't either; but I tend to think of division as a more
"elementary" operation than modulus (and perhaps more likely
to be familiar to the OP).
I'd think it hard to understand integral division if you don't
also know modulus. But it's hard for me to remember what it's
like to be a beginner; all too far in the past.
--
James Kanze (GABI Software) email:james.kanze@gmail.com
Conseils en informatique orient=C3=A9e objet/
Beratung in objektorientierter Datenverarbeitung
9 place S=C3=A9mard, 78210 St.-Cyr-l'=C3=89cole, France, +33 (0)1 30 23 00 =
34