C++ 开关状态在方法getline c+之后反应错误+;
我正在为大学编写一个银行应用程序,我偶然发现了一个问题。让我们以我的类Customer的一个方法为例C++ 开关状态在方法getline c+之后反应错误+;,c++,class,methods,switch-statement,do-while,C++,Class,Methods,Switch Statement,Do While,我正在为大学编写一个银行应用程序,我偶然发现了一个问题。让我们以我的类Customer的一个方法为例 void Customer::create_customer_data() { cout << "Client' Address: "; getline(cin, clientAddress); cin.ignore(); cout << "Client's birth date: "; getline(cin, clientBir
void Customer::create_customer_data() {
cout << "Client' Address: ";
getline(cin, clientAddress);
cin.ignore();
cout << "Client's birth date: ";
getline(cin, clientBirthDate);
cin.ignore();
cout << "Client's telephone number: ";
getline(cin, clientTelephoneNumber);
cin.ignore();
cin.clear(); }
void Customer::创建客户数据(){
我想说,你的cin
需要冲洗一下
答案可以在这里找到:
这个问题也可能确实相关。但得出的结论是相同的
int main() {
int choice, _globalClientNumber = 0;
Customer a(_globalClientNumber);
cout << "Welcome to bank manager 1.0!" << endl;
do {
cout << "Main Menu"<< endl;
cout << "Create a new customer (1)" << endl;
cout << "Create a new account (2)" << endl;
cout << "Cash money into account (3)" << endl;
cout << "Cash money out of account (4)" << endl;
cout << "Transfer money between two accounts (5)" << endl;
cout << "See current status of a customer and its accounts (6)" << endl;
cout << "End Application (0)" << endl;
cout << "Choice: ";
cin >> choice;
switch (choice) {
case 1:
a.create_customer_data();
break;
case 2:
a.create_new_account();
break;
case 3:
a.cash_in();
break;
case 4:
a.cash_out();
break;
case 5:
a.transfer_money();
break;
case 6:
a.print();
break;
default:
break;
}
cout << endl;
}
while (choice != 0);
return 0; }