В c ++ моя программа автоматически переходит к следующему приглашению 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

0

Решение

cin >> имя;

Принимает вход только в космос. Поэтому, если вы печатаете переменную name ты получишь Daniel, И если вы печатаете переменную address ты получишь Benson, Таким образом, что касается программы, она принимает в качестве входных данных две строки.

Доказательство вышеприведенных утверждений путем печати переменных после ввода.

Вы можете использовать cin.getline () для взятия разделенных пробелами строк в качестве входных данных.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector