2013-07-24 44 views
0

我正在做一個簡單的銀行系統,在這個系統中我在做account creation的方法來創建新的賬戶。
當客戶進入時,要創建新的賬戶,他必須輸入他的個人數據。
我知道這個問題同時很愚蠢和簡單。不顯示數據錄入表格我想

問題是當客戶端輸入他的信息時,應該顯示如下數據。

  • 您的名字:(和客戶端輸入等待)
  • 您的姓氏:(andwaits客戶端輸入)
  • 您的年齡:(並等待客戶端輸入)
  • 您的地址: (並等待客戶端輸入)

    自然發生在上面,但發生的情況並非如此。

發生以下情況。

Your First name: (doesn't waits client inputs then continue) Your last name: (and waits for client input).
Your age: (waits for client input) .
Your address: (doesn't waits client inputs then continue) press any key to continue . . .

什麼情況是完全一樣的前圖。

我沒有把所有的代碼,但我只加了重要的代碼。

// this struct to store the client information. 
struct bc_Detail{ 
    char cFistName[15]; 
    char cLastName[15]; 
    unsigned short usAge; 
    char cAddress[64]; 
}; 


// create an account 
class Account_Create { 
private: 
    int nAccountNumber; // account number 
    time_t nCreationDate; // date of join 
    int nBalance;  // The amount of money 
    bc_Detail client; // instance of bc_Detail to store client info 

public: 
    void createAccount(); // to create the account 

}; 


// contents of create account method 
void Account_Create::createAccount(){ 
    std::cout << "Your First name: "; 
    std::cin.getline(client.cFistName, 15); 
    std::cout << "Your last name: "; 
    std::cin.getline(client.cLastName, 15); 
    std::cout << "Your age: "; 
    std::cin >> client.usAge; 
    std::cout << "Your address: "; 
    std::cin.getline(client.cAddress, 64); 
} 


int main(){ 
    Account_Create create; 
    create.createAccount(); 
    return 0; 
} 

回答

1

嘗試使用:

std::cin.get();// will eatup the newline 

留後

std::cin >> client.usAge; 

cin店需要提交條目尾部的換行符(S)在變量client.usAge輸入的數字,和在緩衝區中。

你還可以嘗試:

cin.ignore(); 
相關問題