www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - problem with doubles

reply Michael P. <baseball.mjp gmail.com> writes:
So I've attached the file for a very simple program I'm working on.
The problem comes from past contests questions, see this:

http://www.cemc.uwaterloo.ca/ccc/past/previous_contests.shtml

The problem I've having is with 2008 Junior problem 1. Every time with my code
it says you are overweight, when it is supposed to say normal weight.
So I tried printing out the value I was comparing, and it said nan. Anyone know
why?
-Michael P.
Aug 10 2008
next sibling parent reply "Steven Schveighoffer" <schveiguy yahoo.com> writes:
"Michael P." wrote
 So I've attached the file for a very simple program I'm working on.
 The problem comes from past contests questions, see this:

 http://www.cemc.uwaterloo.ca/ccc/past/previous_contests.shtml

 The problem I've having is with 2008 Junior problem 1. Every time with my 
 code it says you are overweight, when it is supposed to say normal weight.
 So I tried printing out the value I was comparing, and it said nan. Anyone 
 know why?
 -Michael P.
scanf is a C function. You need to exactly specify the type in the string, so use %lf for double -Steve
Aug 10 2008
parent reply Michael P. <baseball.mjp gmail.com> writes:
Steven Schveighoffer Wrote:

 "Michael P." wrote
 So I've attached the file for a very simple program I'm working on.
 The problem comes from past contests questions, see this:

 http://www.cemc.uwaterloo.ca/ccc/past/previous_contests.shtml

 The problem I've having is with 2008 Junior problem 1. Every time with my 
 code it says you are overweight, when it is supposed to say normal weight.
 So I tried printing out the value I was comparing, and it said nan. Anyone 
 know why?
 -Michael P.
scanf is a C function. You need to exactly specify the type in the string, so use %lf for double -Steve
Thanks, that worked. BTW, I know that readf is the D equivalent of scanf(right?), but I don't know how to use it. I should be using readf and writef instead of scanf and printf right? -Michael P.
Aug 10 2008
parent "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Michael P." <baseball.mjp gmail.com> wrote in message 
news:g7n3i3$bfm$1 digitalmars.com...
 Steven Schveighoffer Wrote:

 "Michael P." wrote
 So I've attached the file for a very simple program I'm working on.
 The problem comes from past contests questions, see this:

 http://www.cemc.uwaterloo.ca/ccc/past/previous_contests.shtml

 The problem I've having is with 2008 Junior problem 1. Every time with 
 my
 code it says you are overweight, when it is supposed to say normal 
 weight.
 So I tried printing out the value I was comparing, and it said nan. 
 Anyone
 know why?
 -Michael P.
scanf is a C function. You need to exactly specify the type in the string, so use %lf for double -Steve
Thanks, that worked. BTW, I know that readf is the D equivalent of scanf(right?), but I don't know how to use it. I should be using readf and writef instead of scanf and printf right?
Yes and yes. I really wish the C library were harder to use from D. So many newcomers end up overusing it and then wonder why they have so many issues. readf is very easy to use. Just like writef and friends, the function knows the type of the argument without having to look at the format string.
Aug 10 2008
prev sibling parent reply Michael P. <baseball.mjp gmail.com> writes:
Jarrett Billingsley Wrote:

 "Michael P." <baseball.mjp gmail.com> wrote in message 
 news:g7n3i3$bfm$1 digitalmars.com...
 Steven Schveighoffer Wrote:

 "Michael P." wrote
 So I've attached the file for a very simple program I'm working on.
 The problem comes from past contests questions, see this:

 http://www.cemc.uwaterloo.ca/ccc/past/previous_contests.shtml

 The problem I've having is with 2008 Junior problem 1. Every time with 
 my
 code it says you are overweight, when it is supposed to say normal 
 weight.
 So I tried printing out the value I was comparing, and it said nan. 
 Anyone
 know why?
 -Michael P.
scanf is a C function. You need to exactly specify the type in the string, so use %lf for double -Steve
Thanks, that worked. BTW, I know that readf is the D equivalent of scanf(right?), but I don't know how to use it. I should be using readf and writef instead of scanf and printf right?
Yes and yes. I really wish the C library were harder to use from D. So many newcomers end up overusing it and then wonder why they have so many issues. readf is very easy to use. Just like writef and friends, the function knows the type of the argument without having to look at the format string.
Do you mind giving me an example of using it? For example, reading in an integer, a string, and a double, in one statement( if possible ) and/or multiple statements?
Aug 10 2008
parent reply "Jarrett Billingsley" <kb3ctd2 yahoo.com> writes:
"Michael P." <baseball.mjp gmail.com> wrote in message 
news:g7o6rk$2pgq$1 digitalmars.com...

 Do you mind giving me an example of using it? For example, reading in an 
 integer, a string, and a double, in one statement( if possible ) and/or 
 multiple statements?
Uh, an example for exactly what you want already exists in the Phobos docs.
Aug 11 2008
parent Michael P. <baseball.mjp gmail.com> writes:
Jarrett Billingsley Wrote:

 "Michael P." <baseball.mjp gmail.com> wrote in message 
 news:g7o6rk$2pgq$1 digitalmars.com...
 
 Do you mind giving me an example of using it? For example, reading in an 
 integer, a string, and a double, in one statement( if possible ) and/or 
 multiple statements?
Uh, an example for exactly what you want already exists in the Phobos docs.
Okay, I'll check, Thanks for the help.
Aug 11 2008