私は単純な銀行システムを行っています。このシステムでは、account creation
新しいアカウントを作成する方法を行っています。
クライアントが新しいアカウントを作成するために入るとき、彼は自分の個人データを入力する必要があります。
私は問題がばかげていると同時に単純であることを知っています。
問題は、クライアントが自分の情報を入力するときです. 次のようにデータを表示するとします.
あなたの名: (そしてクライアントの入力を待ちます)
あなたの姓: ( andwaits for client input)
あなたの年齢: (そしてクライアントの入力を待ちます)
あなたの住所: (そしてクライアントの入力を待ちます)
上で発生するのは当然ですが、そうではありません。
それが起こるのは次のとおりです。
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;
}