|
From: Shawn <tre...@gm...> - 2008-02-11 23:10:12
|
This is the first time that I'm trying to use C's build in data type for
true/false and I'm having some problems.
Basically, I'm trying to use bool to keep the program from displaying
results if invalid data is entered.
if (weight <= 0 || weight > 20000)
cout<<"Please enter either a positive number or a weight of 20
kilograms or less for your package.\t\t";
if (distance < 10 || distance > 3000)
cout<<"We don't ship to distances of less then 10 miles or more then
3000 miles.\t\t";
If this is the case and they do enter invalid data, I want bool to stop
the output of the program from printing on screen, I just want the
program to tell the user that they need to enter the right information
as prompted above.
cout<<"The total shipping charges for your package is
$"<<setprecision(2)<<shippingCharges<<endl;
What's the best way to go about this? I was thinking of declaring bool
output = True in the beginning of the program and then right after those
two input validation statements set output = false, but then what would
I put just before the total shipping charges line so it wouldn't print?
Also, I'm having problems setting output = false, it says false is
undeclared. I thought bool was a built in true/false data type?
thx
|
|
From: pepone.onrez <pep...@gm...> - 2008-02-11 23:20:53
|
dev...@li...
On Feb 12, 2008 12:09 AM, Shawn <tre...@gm...> wrote:>
>but then what would I put just before the total shipping charges line so it
wouldn't print?
if(output == TRUE){
//output is TRUE to what you whan
}else{
> }
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
|
|
From: Shawn <tre...@gm...> - 2008-02-11 23:37:03
|
Thanks, but the compiler is still saying 'TRUE' undeclared (first use
this function) and points me to the line where I initialize it to TRUE
at the beginning of my program.
bool output = TRUE;
I thought that as soon as you call bool, the compiler knows it's either
going to be true or false?
pepone.onrez wrote:
> dev...@li...
> <mailto:dev...@li...>
>
> On Feb 12, 2008 12:09 AM, Shawn <tre...@gm...
> <mailto:tre...@gm...>> wrote:>
> >but then what would I put just before the total shipping charges line
> so it wouldn't print?
> if(output == TRUE){
> //output is TRUE to what you whan
> }else{
>
>
>
> }
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> <mailto:Dev...@li...>
> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
>
> ------------------------------------------------------------------------
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> ------------------------------------------------------------------------
>
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
|
|
From: Lloyd <ll...@cd...> - 2008-02-12 03:25:07
|
//C does not have bool data type
enum
{
FALSE=0,
TRUE=1
};
typedef int bool;
int main()
{
bool a=TRUE;
}
On Mon, 2008-02-11 at 18:36 -0500, Shawn wrote:
> Thanks, but the compiler is still saying 'TRUE' undeclared (first use
> this function) and points me to the line where I initialize it to TRUE
> at the beginning of my program.
>
> bool output = TRUE;
>
> I thought that as soon as you call bool, the compiler knows it's
> either going to be true or false?
>
> pepone.onrez wrote:
> > dev...@li...
> >
> > On Feb 12, 2008 12:09 AM, Shawn <tre...@gm...> wrote:>
> > >but then what would I put just before the total shipping charges
> > line so it wouldn't print?
> > if(output == TRUE){
> > //output is TRUE to what you whan
> > }else{
> >
> >
> > }
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> > _______________________________________________
> > Dev-cpp-users mailing list
> > Dev...@li...
> > TO UNSUBSCRIBE:
> > http://www23.brinkster.com/noicys/devcpp/ub.htm
> > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
> >
> >
> > ____________________________________________________________________
> >
> > -------------------------------------------------------------------------
> > This SF.net email is sponsored by: Microsoft
> > Defy all challenges. Microsoft(R) Visual Studio 2008.
> > http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> >
> > ____________________________________________________________________
> >
> > _______________________________________________
> > Dev-cpp-users mailing list
> > Dev...@li...
> > TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> > https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
> >
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________ Dev-cpp-users mailing list Dev...@li... TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
______________________________________
Scanned and protected by Email scanner
|
|
From: Shawn <tre...@gm...> - 2008-02-12 05:04:00
|
I'm working with C++ though, my book says that the bool data type is a
built-in type consisting of just two values, the constants true and false.
I have the program compiling without error now, however, it still prints
the last statement even though I didn't enter valid data.
int main()
{
//Declare and initialize variables
float weight = 0.0;
float distance = 0.0;
float shippingRate = 0.0;
float shippingCharges = 0.0;
* bool output = true;*
//Intro
cout<<endl;
cout<<"Thank you for shipping with The Fast Freight Company!!!\n\n";
//Prompt user for the weight of their package
cout<<"Please enter the weight of your pacakge(in grams): ";
cin>>weight;
cout<<endl;
if (weight <= 0 || weight > 20000)
{cout<<"Please enter either a positive number or a weight of 20
kilograms or less for your package.\t\t";
*output == false;*}
//Prompt user for distance the package will travel
cout<<"Please enter the distance the package will travel(in miles): ";
cin>>distance;
cout<<endl;
if (distance < 10 || distance > 3000)
{cout<<"We don't ship to distances of less then 10 miles or more
then 3000 miles.\t\t";
*output == false;*}
//Evaluate weight input
if (weight <= 2000)
shippingRate = 1.10;
else if (weight > 2000 && weight <= 6000)
shippingRate = 2.20;
else if (weight > 6000 && weight <= 10000)
shippingRate = 3.70;
else
shippingRate = 4.80;
//Evaluate distance input
if (distance >= 10 && distance <= 500)
distance = 500;
else if (distance >= 501 && distance <=1000)
distance = 1000;
else if (distance >= 1001 && distance <= 1500)
distance = 1500;
else if (distance >= 1501 && distance <= 2000)
distance = 2000;
else if (distance >= 2001 && distance <= 2500)
distance = 2500;
else
distance = 3000;
//Perform the calculations
shippingCharges = shippingRate * (distance/500);
//Evaluate if output is needed
//if (weight > 0 && weight <= 20000 && distance >= 10 && distance <= 3000)
*if (output == true) *
//Output shipping charges
{cout<<fixed<<showpoint;
cout<<"The total shipping charges for your package is
$"<<setprecision(2)<<shippingCharges<<endl;}
return 0;
}
When I enter 0 for both or just one prompt, the program still displays
both the total shipping charges as $6.60 and the input validation message.
When I uncomment out the *if (weight > 0 && weight <= 20000 && distance
>= 10 && distance <= 3000) *line, it works just fine so I have to be
using bool wrong somehow.
Lloyd wrote:
> //C does not have bool data type
> enum
> {
> FALSE=0,
> TRUE=1
> };
>
> typedef int bool;
>
> int main()
> {
> bool a=TRUE;
> }
>
>
> On Mon, 2008-02-11 at 18:36 -0500, Shawn wrote:
>
>> Thanks, but the compiler is still saying 'TRUE' undeclared (first use
>> this function) and points me to the line where I initialize it to TRUE
>> at the beginning of my program.
>>
>> bool output = TRUE;
>>
>> I thought that as soon as you call bool, the compiler knows it's
>> either going to be true or false?
>>
>> pepone.onrez wrote:
>>
>>> dev...@li...
>>>
>>> On Feb 12, 2008 12:09 AM, Shawn <tre...@gm...> wrote:>
>>>
>>>> but then what would I put just before the total shipping charges
>>>>
>>> line so it wouldn't print?
>>> if(output == TRUE){
>>> //output is TRUE to what you whan
>>> }else{
>>>
>>>
>>> }
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>> _______________________________________________
>>> Dev-cpp-users mailing list
>>> Dev...@li...
>>> TO UNSUBSCRIBE:
>>> http://www23.brinkster.com/noicys/devcpp/ub.htm
>>> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>>>
>>>
>>> ____________________________________________________________________
>>>
>>> -------------------------------------------------------------------------
>>> This SF.net email is sponsored by: Microsoft
>>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>>>
>>> ____________________________________________________________________
>>>
>>> _______________________________________________
>>> Dev-cpp-users mailing list
>>> Dev...@li...
>>> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
>>> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>>>
>>>
>> -------------------------------------------------------------------------
>> This SF.net email is sponsored by: Microsoft
>> Defy all challenges. Microsoft(R) Visual Studio 2008.
>> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
>> _______________________________________________ Dev-cpp-users mailing list Dev...@li... TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>>
>
>
> ______________________________________
> Scanned and protected by Email scanner
>
> -------------------------------------------------------------------------
> This SF.net email is sponsored by: Microsoft
> Defy all challenges. Microsoft(R) Visual Studio 2008.
> http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
> _______________________________________________
> Dev-cpp-users mailing list
> Dev...@li...
> TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
> https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
>
>
|
|
From: Abilash S. M. <abi...@wi...> - 2008-02-13 09:11:17
|
Hi,
Looks like u intended
output = false
instead of
output == false
The reason why you always get the o/p is because only true assignment
statement was
bool output = true;
So the variable is always true and you always get the output.
Abilash Sankar Mohan
_____
From: dev...@li...
[mailto:dev...@li...] On Behalf Of Shawn
Sent: Tuesday, February 12, 2008 10:34 AM
To: ll...@cd...
Cc: dev...@li...
Subject: Re: [Dev-C++] bool data type
I'm working with C++ though, my book says that the bool data type is a
built-in type consisting of just two values, the constants true and false.
I have the program compiling without error now, however, it still prints the
last statement even though I didn't enter valid data.
int main()
{
//Declare and initialize variables
float weight = 0.0;
float distance = 0.0;
float shippingRate = 0.0;
float shippingCharges = 0.0;
bool output = true;
//Intro
cout<<endl;
cout<<"Thank you for shipping with The Fast Freight Company!!!\n\n";
//Prompt user for the weight of their package
cout<<"Please enter the weight of your pacakge(in grams): ";
cin>>weight;
cout<<endl;
if (weight <= 0 || weight > 20000)
{cout<<"Please enter either a positive number or a weight of 20
kilograms or less for your package.\t\t";
output == false;}
//Prompt user for distance the package will travel
cout<<"Please enter the distance the package will travel(in miles): ";
cin>>distance;
cout<<endl;
if (distance < 10 || distance > 3000)
{cout<<"We don't ship to distances of less then 10 miles or more then
3000 miles.\t\t";
output == false;}
//Evaluate weight input
if (weight <= 2000)
shippingRate = 1.10;
else if (weight > 2000 && weight <= 6000)
shippingRate = 2.20;
else if (weight > 6000 && weight <= 10000)
shippingRate = 3.70;
else
shippingRate = 4.80;
//Evaluate distance input
if (distance >= 10 && distance <= 500)
distance = 500;
else if (distance >= 501 && distance <=1000)
distance = 1000;
else if (distance >= 1001 && distance <= 1500)
distance = 1500;
else if (distance >= 1501 && distance <= 2000)
distance = 2000;
else if (distance >= 2001 && distance <= 2500)
distance = 2500;
else
distance = 3000;
//Perform the calculations
shippingCharges = shippingRate * (distance/500);
//Evaluate if output is needed
//if (weight > 0 && weight <= 20000 && distance >= 10 && distance <= 3000)
if (output == true)
//Output shipping charges
{cout<<fixed<<showpoint;
cout<<"The total shipping charges for your package is
$"<<setprecision(2)<<shippingCharges<<endl;}
return 0;
}
When I enter 0 for both or just one prompt, the program still displays both
the total shipping charges as $6.60 and the input validation message.
When I uncomment out the if (weight > 0 && weight <= 20000 && distance >= 10
&& distance <= 3000) line, it works just fine so I have to be using bool
wrong somehow.
Lloyd wrote:
//C does not have bool data type
enum
{
FALSE=0,
TRUE=1
};
typedef int bool;
int main()
{
bool a=TRUE;
}
On Mon, 2008-02-11 at 18:36 -0500, Shawn wrote:
Thanks, but the compiler is still saying 'TRUE' undeclared (first use
this function) and points me to the line where I initialize it to TRUE
at the beginning of my program.
bool output = TRUE;
I thought that as soon as you call bool, the compiler knows it's
either going to be true or false?
pepone.onrez wrote:
dev...@li...
On Feb 12, 2008 12:09 AM, Shawn <mailto:tre...@gm...>
<tre...@gm...> wrote:>
but then what would I put just before the total shipping charges
line so it wouldn't print?
if(output == TRUE){
//output is TRUE to what you whan
}else{
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Dev-cpp-users mailing list
Dev...@li...
TO UNSUBSCRIBE:
http://www23.brinkster.com/noicys/devcpp/ub.htm
https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
____________________________________________________________________
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
____________________________________________________________________
_______________________________________________
Dev-cpp-users mailing list
Dev...@li...
TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________ Dev-cpp-users mailing list
Dev...@li... TO UNSUBSCRIBE:
http://www23.brinkster.com/noicys/devcpp/ub.htm
https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
______________________________________
Scanned and protected by Email scanner
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Dev-cpp-users mailing list
Dev...@li...
TO UNSUBSCRIBE: http://www23.brinkster.com/noicys/devcpp/ub.htm
https://lists.sourceforge.net/lists/listinfo/dev-cpp-users
|