我的程序跳过getline(cin、CustInfo)并在CustomerInfo函数中转到City。我怎样才能修好它? 我只是学习C++。我想,也许,cin.ignore会有帮助。我想你把它放在getline前面了

我的程序跳过getline(cin、CustInfo)并在CustomerInfo函数中转到City。我怎样才能修好它? 我只是学习C++。我想,也许,cin.ignore会有帮助。我想你把它放在getline前面了,c++,getline,C++,Getline,以下是一个示例程序: CustAcc CustomerInfo( ){ CustAcc CustInfo; //Define a local structure //Customer Information cout<<"Name: "; getline(cin, CustInfo.Name); cout<<"City: "; cin

以下是一个示例程序:

CustAcc CustomerInfo( ){
    CustAcc CustInfo;                           //Define a local structure
        //Customer Information
        cout<<"Name: ";
        getline(cin, CustInfo.Name);
        cout<<"City: ";
        cin>>CustInfo.Address.City;
        cout<<"Enter the state where you live: ";
        cin>> CustInfo.Address.State;
        cout<<"Enter the ZIP code of your area: ";
        cin>> CustInfo.Address.ZIP;
        cout<<"Enter your telephone number without hyphens and space (e.g. 6060543013) : ";
        cin>> CustInfo.Tel_Num;
        CustInfo.Acc_Balance = 0;
        do{
            cout<<"Enter the balance in your account (balance below 0 is not accepted):";
            cin>>CustInfo.Acc_Balance;
        }while(CustInfo.Acc_Balance < 0);

        cout<<"Enter the date of last Payment. Use no space or article to distinguish between month, date and year.(e.g 092016): ";
        cin>> CustInfo.Date_of_LastPayment;
    return CustInfo;
}

这个答案解释了为什么会发生这种情况:
 int main()
 {
      char ch;
      int number;

      cout << "Enter a number: ";
      cin >> number;
      cin.ignore();
      cout << "Enter a character: ";
      ch = cin.get();
      cout << "Thank you!\n";
      return 0;

      }