Click here to Skip to main content
15,887,027 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
AnswerRe: Passing a variable Pin
prasad_som24-Jul-06 19:00
prasad_som24-Jul-06 19:00 
Questioncin issues [modified] Pin
Harold_Wishes24-Jul-06 6:52
Harold_Wishes24-Jul-06 6:52 
AnswerRe: cin issues Pin
David Crow24-Jul-06 6:54
David Crow24-Jul-06 6:54 
GeneralRe: cin issues [modified] Pin
Harold_Wishes24-Jul-06 7:07
Harold_Wishes24-Jul-06 7:07 
QuestionRe: cin issues Pin
David Crow24-Jul-06 7:52
David Crow24-Jul-06 7:52 
AnswerRe: cin issues Pin
Harold_Wishes24-Jul-06 8:08
Harold_Wishes24-Jul-06 8:08 
GeneralRe: cin issues Pin
David Crow24-Jul-06 8:32
David Crow24-Jul-06 8:32 
GeneralRe: cin issues Pin
Zac Howland24-Jul-06 9:13
Zac Howland24-Jul-06 9:13 
This code looks vaguely familiar ... someone else was asking about a similar problem a couple weeks ago.

Anyway, the problem you are having is that when using cin, it ignores whitespace by default (that is, it sees it, but leaves it in the buffer). This is generally a problem only when reading in strings, but can happen in certain circumstances when reading other datatypes. Basically, this is what happens:

Lets say that the following string is in the read buffer for cin: MyString\n
cin will read "MyString" into the buffer and leave the \n on the read buffer.
Now, the next cin call will see the \n and assume an empty string.

An easy way to fix the problem would be to change:
DavidCrow wrote:
void add_number_of_subunits (int& data)
{
string buff;

do
{
cout << endl;
cout << "Please enter number of subunits: ";
cin >> buff;

} while (atoi(buff.c_str()) < 1 || atoi(buff.c_str()) > 12);

data = atoi(buff.c_str());
}


to be this instead:

void add_number_of_subunits (int& data)
{
    int check = 0;
     
    do
    { 	
        cout << endl;
        cout << "Please enter number of subunits: ";
        cin >> check; 
    } while (check < 1 || check > 12);	
 
    data = check; 
}


If you decide to become a software engineer, you are signing up to have a 1/2" piece of silicon tell you exactly how stupid you really are for 8 hours a day, 5 days a week

Zac

GeneralRe: cin issues Pin
David Crow24-Jul-06 9:22
David Crow24-Jul-06 9:22 
GeneralRe: cin issues Pin
Zac Howland24-Jul-06 9:30
Zac Howland24-Jul-06 9:30 
GeneralRe: cin issues [modified] Pin
Harold_Wishes24-Jul-06 9:28
Harold_Wishes24-Jul-06 9:28 
GeneralRe: cin issues Pin
Harold_Wishes24-Jul-06 9:23
Harold_Wishes24-Jul-06 9:23 
GeneralRe: cin issues Pin
Zac Howland24-Jul-06 9:34
Zac Howland24-Jul-06 9:34 
GeneralRe: cin issues [modified] Pin
Harold_Wishes24-Jul-06 10:07
Harold_Wishes24-Jul-06 10:07 
GeneralRe: cin issues Pin
Zac Howland24-Jul-06 11:08
Zac Howland24-Jul-06 11:08 
GeneralRe: cin issues [modified] Pin
Harold_Wishes24-Jul-06 10:48
Harold_Wishes24-Jul-06 10:48 
GeneralRe: cin issues Pin
Zac Howland25-Jul-06 4:42
Zac Howland25-Jul-06 4:42 
QuestionRe: cin issues Pin
David Crow24-Jul-06 9:41
David Crow24-Jul-06 9:41 
QuestionDisplaying Multiple form in vc++ Pin
ningthemcha24-Jul-06 6:01
ningthemcha24-Jul-06 6:01 
AnswerRe: Displaying Multiple form in vc++ Pin
David Crow24-Jul-06 6:05
David Crow24-Jul-06 6:05 
QuestionVC++ 6.0 IDE mse.exe Pin
bob1697224-Jul-06 5:58
bob1697224-Jul-06 5:58 
AnswerRe: VC++ 6.0 IDE mse.exe Pin
bob1697224-Jul-06 6:03
bob1697224-Jul-06 6:03 
QuestionWindows NT 4.0 DDK download Pin
szilardcs24-Jul-06 5:07
szilardcs24-Jul-06 5:07 
AnswerRe: Windows NT 4.0 DDK download Pin
toxcct24-Jul-06 5:46
toxcct24-Jul-06 5:46 
QuestionError in loading DLL in Windows XP and WIndows 2003 Server Pin
BlrBoy24-Jul-06 4:44
BlrBoy24-Jul-06 4:44 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.