I am currently writing a program that containin a class called po. The constructor to po contains the following:
cout<<"Number: ";
cin>>m_Number;
cout<<"Date: ";
cin.getline(m_Date,20);
cout<<"Vendor: ";
cin.getline(m_Vendor,100);
cout<<"Description: ";
cin.getline(m_Description,100);
cout<<"Advisor: ";
cin.getline(m_Advisor,100);
cout<<"Account: ";
cin.getline(m_Account,100);
cout<<"Account #: ";
cin>>m_AccountNum;
cout<<"Amount: ";
cin>>m_Amount;
cout<<"Check #: ";
cin>>m_CheckNum;
The first getline (Date: ) is ignored and the program displays
Date: Vendor:
Later, when po.editFields() is called
cout<<"Change to: ";
switch(field)
{
case 1:
cin>>currentPo.m_Number;
break;
case 2:
cin.getline(currentPo.m_Date,20);
break;
case 3:
cin.getline(currentPo.m_Vendor,100);
break;
case 4:
cin.getline(currentPo.m_Description,100);
break;
case 5:
cin.getline(currentPo.m_Advisor,100);
break;
case 6:
cin.getline(currentPo.m_Account,100);
break;
case 7:
cin>>currentPo.m_AccountNum;
break;
case 8:
cin>>currentPo.m_Amount;
break;
case 9:
cin>>currentPo.m_CheckNum;
break;
default:
cout<<"Invalid field!"<<endl;
}
All getline commands are completely ignored. The program displays the prompt, sets the data member to null, then moves on.
Please help me fix this!!