我的程序跳过getline(cin,CustInfo)并在CustomerInfo函数中前进到City。我该如何解决?

时间:2016-04-17 04:04:53

标签: c++ getline

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;
}

1 个答案:

答案 0 :(得分:0)

我只是在学习c ++。我想,也许,cin.ignore,会有所帮助。我想你把它放在了getline前面。

以下是一个示例程序:

 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;

      }