Почему я никогда не получаю возможность ввести свои данные? - PullRequest
0 голосов
/ 24 сентября 2018

когда я хочу ввести адрес через год, компилятор не ждет моего ответа

#include <iostream>
#include <cstring>

using namespace std;
int main() 
{
    cout << "What year was your house built?\n";
    int year;
    cin >> year;
    cout << "What is its street address?\n";
    char address[80];
    cin.getline(address, 80);
    cout << "Year built: " << year << endl;
    cout << "Address: " << address << endl;
    cout << "Done!\n";
    return 0;
}

Ответы [ 2 ]

0 голосов
/ 24 сентября 2018

В этом случае элемент управления не ожидает ввода, поскольку, скорее всего, он выбирает вход в потоке.Чтобы преодолеть эту ситуацию, используйте endl после каждого оператора cout.

Пожалуйста, предпочтите использовать endl вместо \n.

cout << "What is its street address?\n";

эквивалентно

cout << "What is its street address?\n";
cout.flush();
0 голосов
/ 24 сентября 2018

Вы не оставляете окно открытым, попробуйте что-то вроде

char c;
cin >> c;
return 0;

в конце основной функции, чтобы ваш терминал оставался открытым.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...