By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
446,194 Members | 811 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 446,194 IT Pros & Developers. It's quick & easy.

leading zeros - wrong int

P: n/a
//please tell me why...
//and give me a hint to solve the problem with leading zeros.

//snippet
#include <iostream.h>
#include <conio.h>
int main()
{
int zahl = 0;
cout << "Give me an int please: ";
cin >> zahl;
cout << "int = " << zahl <<endl;
getch();
return 0;
}
//examples with leading zeros:
//input 0045 screen output 37
//input 0049 output 4
// 094 0
//and so on
//thank you
Jul 22 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a

"r.magdeburg" <r.*********@arcor.de> wrote in message news:3f***********************@news.freenet.de...
//please tell me why...
//and give me a hint to solve the problem with leading zeros.

When basefield is not set "senses" the base by looking at the leading digits similar to the
way literal numbers works in the language. Leading zeros cause it to treat
the base as octal. You can fix it by forcing dec, cin >> dec >> zahl;

I'm pretty sure the basefield is supposed to be dec by default...I think it's a defect in your
compiler.
Jul 22 '05 #2

P: n/a
r.magdeburg wrote:
//please tell me why...
//and give me a hint to solve the problem with leading zeros.

//snippet
#include <iostream.h>
#include <conio.h>
int main()
{
int zahl = 0;
cout << "Give me an int please: ";
cin >> zahl;
cout << "int = " << zahl <<endl;
getch();
return 0;
}
//examples with leading zeros:
//input 0045 screen output 37
//input 0049 output 4
// 094 0
//and so on
//thank you


Also, iostream.h is deprecated. Use:

#include <iostream> // new header. Note we don't use conio.h
#include <limits> // new header. needed for input flush
using namespace std;
int main()
{
int zahl = 0;
cout << "Give me an int please: ";
cin >> zahl;
cout << "int = " << zahl <<endl;
cin.ignore(numeric_limits<std::streamsize>::max(), '\n'); // call lifted from Josuttis The C++ Standard Library, pg. 609
return 0;
}

Jul 22 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.