0

これが私のコードです:

#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
4

1 に答える 1

0

シン >> 名前;

スペースまでの入力のみを受け取ります。したがって、変数nameを出力すると、 が得られDanielます。変数addressを出力すると、 が得られBensonます。したがって、プログラムに関する限り、入力として 2 つの文字列を取り込んでいます。

入力後に変数を出力することによる上記のステートメントの証明。

スペースで区切られた文字列を入力として受け取るには、 cin.getline()を使用することをお勧めします。

于 2016-10-13T05:40:37.283 に答える