Borland 4.02 Floating Point Overflow Error

I'm new to C++ programming and recently purchased the C++ Starter Kitfrom Sam's publishing for a C++ class I'm taking. The "kit" comes with the Borland C++ compiler v. 4.02, a book and a bunch of info on CD-ROM.  The problem is I'm having trouble entering real numbers into float variables.  For example:

#include <iostream.h>

void main ()
{
float z;
cout << "Enter a real number: ";
cin >> z;
cout << "The nuber is: " << z << endl;
}

The above program will compile and even run as long as an integer is entered.  But, if a real number is entered (ie. 1.2) a run-time error "Floating Point: Overflow" occurs.  I can assign real numbers in the program, but not enter them from the terminal.  Even more strange is that I installed the compiler on my laptop and the program runs fine.
The technical support for SAMs publishing have no idea what's going on and I think Borland charges for technical support.  I suspect that there is a problem with the compiler setup.  Can anyone out there helpme.  My desktop has a Cyrix 6x86-100 (P120+) and the laptop an Intel
P120.  

Thanks,
Mark
mshumanAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

AVaulinCommented:
Try use double z;
0
8051Commented:
I compiled your program in BC 3.1. It works
exactly as you want. I think, proble can be
in compiler settings. In some nearest minutes
I'll put here compiler setup.

Regards
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
8051Commented:
OK, go menu->options->compiler->advanced code generation.
1. Floating Point    (*) 287/387
2. Instruction Set   (*) 386
3. Options           [v] Fast floating point

It works perfect.

Regards

0
OWASP: Avoiding Hacker Tricks

Learn to build secure applications from the mindset of the hacker and avoid being exploited.

mshumanAuthor Commented:
My compiler (Borland 4.02) doesn't have the same options that yours does.  But, I've tried every combination of CPU and floating point options there are.  Also, I've been doing some research... The error only occurs if I compile the program as an EasyWin executable, if I compile it as a standard DOS executable the program executes without the error.  Another strange thing is that I have compiled the program as an EasyWin executable and have run the program on a number of other computers running either Win 3.1 or Win 95 and all have run the program without a problem -- though I cannot run it on the computer on which it was compiled.  Again the error only occurs if a real number is entered.  If I enter an integer, the program works.

Mark
0
mshumanAuthor Commented:
Oh well, I figured out the problem myself. Here's how, because I don't think anyone could have done this without being at my computer.  
1.  Started Win 95 in Safe Mode - program ran without error
2.  Started Win 95 by with step-by-step confirmation
    a.  No registry load - program had error
    b.  No config.sys - program had error
    c.  No windows drivers - no error
3.  Start Windows 95 in normal mode and ran program after removing programs from memory (cntrl-alt-del to see programs)...
Program ran without error after removing em_exec.exe (Logitech trackball driver), started em_exec.exe again -- program had error.
4.  Therefore program somehow conflicts with Logitech Trackball Driver -- I'm going to contact Logitech now.

Thanks for your help,

Mark

0
dclaneCommented:
In Floating point ( and all variables ) you must 'scope' your variables if that does not work.  Try Math control functions.

DCLANE
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
C++

From novice to tech pro — start learning today.