を追加せずに次のCINプロンプトに行くここに私のコードです:は、私のプログラムが自動的にユーザーが入力
#include <iostream>
using namespace std;
const int SENIOR_PRICE = 9;
const int ADULT_PRICE = 12;
const float CHILD_PRICE = 6.95;
const float TAX_RATE = .06;
int main()
{
string name;
string address;
int numSeniorTickets;
int numAdultTickets;
int numChildTickets;
cout << "Enter customer name:" << endl;
cin >> name;
cout << "Enter customer address:" << endl;
cin >> address;
cout << "How many senior season tickets?" << endl;
cin >> numSeniorTickets;
cout << "How many adult tickets?" << endl;
cin >> numAdultTickets;
cout << "How many child tickets?" << endl;
cin >> numChildTickets;
return 0;
}
ユーザーが自分の名前を入力した後、彼らはその後、自分のアドレスを入力するよう要求されます。しかし、彼らは彼らの住所を入力する前に、シニアシーズンのチケットの数を入力するよう促します。なぜ入力行をスキップするのですか?ここでは何が起こるかです:
Enter customer name:
Daniel Benson
Enter customer address:
How many senior season tickets?
5
How many adult tickets?
5
How many child tickets?
5
これは、名前入力の後に '\ n'があるためです。文字列の場合にはcinは入力バッファに改行文字を残し、次のcinが呼び出されるときには改行をバッファから受け取り、ユーザ入力を待つことはありません。次の文字列を取得する前に、バッファをフラッシュしてみてください。 –
私はC++プログラミングにはかなり新しいです。バッファをフラッシュするとどういう意味ですか? – DanielBenson
これは本当にあなたが簡単にあなたのデバッガを使用して解決できる問題です。 – MrEricSir